如何计算zip文件中的特定文件

时间:2017-04-09 13:36:17

标签: java zip zipfile

我的zip文件包含许多zip条目 (很多png图片)。

我想计算包含单词"idle"

的图片数量

zip条目如下:

on001,on002 ... on0037-idle001,idle002 ... idle0085

请告诉我如何计算其名称包含字"idle"

的文件数量

我知道如何按.size()计算所有zip文件,但我该如何计算特定文件?

2 个答案:

答案 0 :(得分:2)

循环浏览.entries()并检查每个ZipEntry的名称:

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++;
}

答案 1 :(得分:0)

我通过这段代码解决了这个问题,但是它太慢了,韦斯顿的代码要好得多

            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++;
                }

            }