4

我正在尝试用 Java 创建一个简单的 ZIP 文件,但是一旦生成,我就无法使用 Windows 资源管理器或 7-zip 打开它,因为他们说该文件无效/无法识别/损坏。

但是,我正在遵循我看过的所有教程并使用非常简单的代码,所以我看不出哪里出错了。这是我能想到的重现问题的最简单的片段:

FileOutputStream fos = new FileOutputStream("test.zip");
ZipOutputStream zos = new ZipOutputStream(fos);
ZipEntry ze = new ZipEntry("test.txt");
zos.putNextEntry(ze);
byte[] data = "content".getBytes();
fos.write(data, 0, data.length);
zos.closeEntry();
zos.finish();
zos.close();

我错过了某个地方的设置吗?作为参考,我在这里test.zip上传了文件。

4

1 回答 1

10

您正在写入错误的流。

  // fos.write(data, 0, data.length);
  zos.write(data, 0, data.length);
于 2013-12-17T03:39:57.890 回答