用java.util.zip

时间:2018-05-30 12:31:59

标签: java zip size

我注意到使用java.util.zip库创建.zip文件并没有正确地写出大小,因此

zipEntry.getSize; //created with a ZipInputStream (zipEntry = zis.getNextEntry())
zipEntry.getCompressedSize();

两者始终返回-1

如果我使用zipEntryZipFile创建Enumeration,则不会发生这种情况 - 在这种情况下,我无法做到这一点。

如何让磁带库正确写入尺寸?

1 个答案:

答案 0 :(得分:0)

我尝试了以下代码,返回的尺寸很好。

ZipInputStream zis = new ZipInputStream(new FileInputStream(new File("/tmp/foo.zip")));
ZipEntry entry = zis.getNextEntry();
System.out.println(entry.getSize());
System.out.println(entry.getCompressedSize());
zis.close();

我认为问题并非来自您调用库的方式,而是来自您的zip文件。