gpt4 book ai didi

java - 可以确定要解压缩的文件的大小吗?

转载 作者:行者123 更新时间:2023-11-29 03:45:54 27 4
gpt4 key购买 nike

我目前有以下使用 ZipInputStream 的代码例如将 zip 文件解压缩到手机上的目标位置:

ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(sourceZipFile));
ZipEntry zipEntry = null;

while ((zipEntry = zipInputStream.getNextEntry()) != null) {
File zipEntryFile = new File(targetFolder, zipEntry.getName());
// write contents of 'zipEntry' to 'zipEntryFile'
}

有谁知道是否有可能(使用上面的设置或其他方式)在开始之前获取(估计)要解压缩的文件或字节总数,以便我可以在解压缩过程中显示进度指示器?我以为ZipInputStream可能有 getTotalEntries() 或类似的方法,但我找不到类似的方法。

最佳答案

使用 ZipEntry#getSize()方法。它返回未压缩 文件的大小。

如果 ZIP 文件中有多个条目(文件),只需先遍历它们(不解压),然后将所有文件大小加在一起。这可能是一个很好的估计。

请注意,如果您需要知道这些文件将在磁盘上占用的确切字节数,您还需要知道文件系统中集群的确切大小。

关于java - 可以确定要解压缩的文件的大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10919337/

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