如何计算 zip 文件中的特定文件
Posted
技术标签:
【中文标题】如何计算 zip 文件中的特定文件【英文标题】:How to count specific file in a zip file 【发布时间】:2017-04-09 13:36:17 【问题描述】:我有一个包含许多 zip 条目的 zip 文件 (许多 png 图像)。
我要统计包含单词"idle"
的图片数量
zip 条目是这样的:
on001,on002...on0037-idle001,idle002...idle0085
请告诉我如何计算名称中包含单词"idle"
的文件数
我知道如何计算.size()
压缩包中的所有文件,但我如何计算特定文件?
【问题讨论】:
【参考方案1】:遍历.entries()
并检查每个ZipEntry
s 名称:
ZipFile zipFile = new ZipFile("???.zip");
int count = 0;
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements())
ZipEntry entry = entries.nextElement();
if (entry.getName().contains("idle")) count++;
【讨论】:
不错,但我得到错误 foreach 不适用于类型 'java.util.enumeration我通过这段代码解决了这个问题,但是它太慢了,韦斯顿的代码要好得多
FileInputStream fis = new FileInputStream("zip file adress");
ZipInputStream zis = new ZipInputStream(fis);
ZipEntry ze = null;
int idlecount;
while ((ze = zis.getNextEntry()) != null)
if (ze.getName().contains("idle"))
idlecount++;
【讨论】:
以上是关于如何计算 zip 文件中的特定文件的主要内容,如果未能解决你的问题,请参考以下文章