java zipentry getsize returns -1
java zipentry getsize returns -1
Java zipEntry.getSize() returns 实际文件的大小,有时 returns -1(尽管文件大小大于 0 ).
Java API 文档说 "Returns the uncompressed size of the entry data, or -1 if not known."
不确定它会在什么情况下 return -1 即在什么情况下它会是未知的?
如果 ZipFile 条目 table 中的内容是 -1,您将得到 return。这只是 zip 文件格式定义的一个方面。
意外地使用 ZipFile 而不是 ZipInputStream 来获取条目
使 getSize 和 getCompressedSize 成为 return 正确的值。
ZipFile zipfile = new ZipFile("myFile.zip");
java.util.Enumeration zipEnum = zipfile.entries();
while (zipEnum.hasMoreElements ())
{
ZipEntry entry = (ZipEntry) zipEnum.nextElement();
if (! entry.isDirectory ())
{
// entry.getName()
// entry.getSize ()
// entry.getCompressedSize ()
}
}
在 http://vimalathithen.blogspot.de/2006/06/using-zipentrygetsize.html
找到了技巧
Java zipEntry.getSize() returns 实际文件的大小,有时 returns -1(尽管文件大小大于 0 ).
Java API 文档说 "Returns the uncompressed size of the entry data, or -1 if not known."
不确定它会在什么情况下 return -1 即在什么情况下它会是未知的?
如果 ZipFile 条目 table 中的内容是 -1,您将得到 return。这只是 zip 文件格式定义的一个方面。
意外地使用 ZipFile 而不是 ZipInputStream 来获取条目 使 getSize 和 getCompressedSize 成为 return 正确的值。
ZipFile zipfile = new ZipFile("myFile.zip");
java.util.Enumeration zipEnum = zipfile.entries();
while (zipEnum.hasMoreElements ())
{
ZipEntry entry = (ZipEntry) zipEnum.nextElement();
if (! entry.isDirectory ())
{
// entry.getName()
// entry.getSize ()
// entry.getCompressedSize ()
}
}
在 http://vimalathithen.blogspot.de/2006/06/using-zipentrygetsize.html
找到了技巧