0

我的 jar 中嵌入了一个 zip 文件,并且想要读取未压缩的大小。我目前这样做的方式:

ZipFile zipFile = new ZipFile(new File(this.getClass().getClassLoader().getResource("files.zip").toURI()));
Enumeration<? extends ZipEntry> e = zipFile.entries();
long installedSize = 0;
while (e.hasMoreElements()) {
    ZipEntry entry = e.nextElement();
    installedSize += entry.getSize();
}

这当然很脏,当我使用 JSmooth 将我的 jar 文件嵌入到 exe 文件中时也不起作用。

有没有更好的方法(不复制 zip 文件)?

4

1 回答 1

0

getSize()返回未压缩的大小。这与getCompressedSize(). 两者都可以很好地与 zip 一起使用,它们可以作为独立文件存储或嵌入到其他 zip 中。不幸的是,我不知道你如何用 JSmooth 解决这个问题。

如果files.zip是您的文件,您可以在构建时检查条目大小并将结果放入属性文件中。这是一个补丁,但它会起作用。

于 2011-12-19T12:07:31.650 回答