如何在java中读取和写入zip文件?

5 java

我正在做一个练习来理解在java中读写zip文件。我读过有关读取文件并将其转换为 zip 文件的内容,我也尝试过。我读过有关使用 java 读取 zip 文件的信息。我如何将这种读写操作结合在一起。就像,我想读取 HDD 中的压缩文件,并且想将其保存在另一个位置。

我可以使用以下代码读取 zip 文件:

FileInputStream fs = new FileInputStream("C:/Documents and Settings/tamilvendhank/Desktop/abc.zip");
ZipInputStream zis = new ZipInputStream(fs);
ZipEntry zE;
while((zE=zis.getNextEntry())!=null){
    System.out.println(ze.getName());
    zis.closeEntry();
  }

zis.close();
Run Code Online (Sandbox Code Playgroud)

而且,我还可以使用以下代码制作一个文本文件来压缩:

String fn = "C:/Documents and Settings/tamilvendhank/Desktop/New Text Document.txt";
byte[] b = new byte[1024];
FileInputStream fis = new FileInputStream(fn);
fis.read(b, 0, b.length);
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("C:/Documents and Settings/tamilvendhank/Desktop/123.zip"));
ZipEntry ze = new ZipEntry(fn);
ze.setSize((long)b.length);
zos.setLevel(6);
zos.putNextEntry(ze);
zos.write(b, 0, b.length);
zos.finish();
zos.close();
Run Code Online (Sandbox Code Playgroud)

现在我将如何连接上述两个代码并使代码读取 zip 文件并将其写入不同的位置。

有什么建议!!

Fai*_*roz 5

为什么不将它作为 FileInputStream 打开并将内容转储到 FileOutputStream 中。这是执行简单复制操作的方式,您不必解压缩文件,然后将其压缩回 HDD 上的另一个位置。