如何加速解析 Java 中 zip 文件中的条目

托马斯

我有一个 Web 服务,可以动态解析 zip 文件的内部文件结构(文件名、目录等),并将结果作为 json 发送回。它工作正常,只是 zip 文件包含一些非常大的文件,即使 zip 文件中只有几个文件,也可能需要长达几十秒的时间才能得到答案。我怀疑解压缩算法必须解析整个文件才能获得不同的 zip 条目。我正在使用标准的 java zip 库。下面是一些基本代码:

        ZipInputStream zis = new ZipInputStream(new FileInputStream(new File(myFilePath)));
        ZipEntry zipEntry = zis.getNextEntry();
        while(zipEntry != null){
            // code to generate the json file tree ---
            // --- end of code
            zipEntry = zis.getNextEntry();
        }

我没有阅读文件的内容或任何内容,只是遍历条目。事实上,我可以像上面一样空运行它,但它仍然需要很多时间(和 CPU)。

有没有办法加快这个过程?也许更好的图书馆?

谢谢!

托马斯

根据评论,这样做的更好方法是,即使用 ZipFile 而不是 ZipInputStream

   final ZipFile file = new ZipFile(filePath);
       final Enumeration<? extends ZipEntry> entries = file.entries();
       while ( entries.hasMoreElements() ) {
           final ZipEntry zipEntry = entries.nextElement();
           // code to generate the json file tree ---
           // --- end of code
       }
   }

所有学分都应该归于 Wasim Wani 对以下问题的回答在 Java 中有效地读取 zip 文件那是我找到代码的地方。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中读取.zip文件中的文件?

来自分类Dev

如何在不写入磁盘的情况下解析zip中的文件-Java

来自分类Dev

如何在Java中打印zip文件的压缩速度?

来自分类Dev

如何通过Java中的套接字编程传输zip文件?

来自分类Dev

如何使用Java中的REST API返回zip文件?

来自分类Dev

如何通过Java中的套接字编程传输zip文件?

来自分类Dev

处理AndroidStudio中的重复条目:java.util.zip.ZipException

来自分类Dev

如何在zip文件中解析Excel文件?

来自分类Dev

如何在Java中的zip文件中访问文件和文件夹列表?

来自分类Dev

如何从文件中删除条目

来自分类Dev

将zip文件条目保存到列表中

来自分类Dev

如何压缩zip文件中的多个文件

来自分类Dev

如何从zip文件中获取单个文件?

来自分类Dev

如何使用Sharpcompress .net从ZIP存档中删除单个条目

来自分类Dev

从Java中的文件读取不同的条目

来自分类Dev

Java中的zip创建错误

来自分类Dev

无法解析主机文件中的条目?

来自分类Dev

java-如何解压缩zip文件的特定目录中的所有文件?

来自分类Dev

Java:如何对 zip 文件中的多个 xml 文件执行 dos2unix?

来自分类Dev

如何从zip文件中删除空路径?

来自分类Dev

如何在PHP中串联zip文件

来自分类Dev

如何从 Dart 中的 Json 创建 zip 文件?

来自分类Dev

如何跳过.csv文件中的重复条目

来自分类Dev

如何在Java中解析HAR文件

来自分类Dev

Ubuntu中的.zip文件

来自分类Dev

从Java中的PHP readfile()下载一个zip文件

来自分类Dev

在Java中无需解压缩即可替换Zip文件

来自分类Dev

Java 使用 Files 将文件复制到 zip 中

来自分类Dev

如何在Gem文件中添加要求的“ zip / zip”和“ zip”

Related 相关文章

热门标签

归档