gpt4 book ai didi

java zipentry getsize 返回 -1

转载 作者:搜寻专家 更新时间:2023-10-31 20:00:43 31 4
gpt4 key购买 nike

Java zipEntry.getSize() 返回实际文件的大小,有时返回 -1(尽管文件大小大于 0)。

Java API 文档说“返回条目数据的未压缩大小,如果不知道则返回 -1。”

不确定在什么情况下它会返回 -1,即在什么情况下它是未知的?

最佳答案

令人惊讶的是使用 ZipFile 而不是 ZipInputStream 来获取条目使 getSize 和 getCompressedSize 返回正确的值。

     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 返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36045421/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com