我注意到使用java.util.zip
库创建.zip文件并没有正确地写出大小,因此
zipEntry.getSize; //created with a ZipInputStream (zipEntry = zis.getNextEntry())
zipEntry.getCompressedSize();
两者始终返回-1
。
如果我使用zipEntry
和ZipFile
创建Enumeration
,则不会发生这种情况 - 在这种情况下,我无法做到这一点。
如何让磁带库正确写入尺寸?
答案 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文件。