java.util.zip - ZipInputStream v.s. ZipFile

前端 未结 3 1601
情书的邮戳
情书的邮戳 2021-01-05 05:42

I have some general questions regarding the java.util.zip library. What we basically do is an import and an export of many small components. Previously these c

3条回答
  •  佛祖请我去吃肉
    2021-01-05 06:23

    I measured that just listing the files with ZipInputStream is 8 times slower than with ZipFile.

        long t = System.nanoTime();
        ZipFile zip = new ZipFile(jarFile);
        Enumeration entries = zip.entries();
        while (entries.hasMoreElements())
        {
            ZipEntry entry = entries.nextElement();
    
            String filename = entry.getName();
            if (!filename.startsWith(JAR_TEXTURE_PATH))
                continue;
    
            textureFiles.add(filename);
        }
        zip.close();
        System.out.println((System.nanoTime() - t) / 1e9);
    

    and

        long t = System.nanoTime();
        ZipInputStream zip = new ZipInputStream(new FileInputStream(jarFile));
        ZipEntry entry;
        while ((entry = zip.getNextEntry()) != null)
        {
            String filename = entry.getName();
            if (!filename.startsWith(JAR_TEXTURE_PATH))
                continue;
    
            textureFiles.add(filename);
        }
        zip.close();
        System.out.println((System.nanoTime() - t) / 1e9);
    

    (Don't run them in the same class. Make two different classes and run them separately)

提交回复
热议问题