生成的ZIP文件已损坏/无效

时间:2013-12-17 03:36:06

标签: java zipoutputstream

我正在尝试用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文件here

1 个答案:

答案 0 :(得分:10)

你写的是错误的信息流。

  // fos.write(data, 0, data.length);
  zos.write(data, 0, data.length);