gpt4 book ai didi

java - 使用 Java 将 zip 文件捆绑在内存中

转载 作者:行者123 更新时间:2023-12-02 02:05:22 24 4
gpt4 key购买 nike

我需要捆绑几个 zip 文件(jar)。我尝试过以下解决方案:

  1. 通过检查输入流的每个条目并将其复制到输出流,从 ZipInputStream 倒入 ZipOutputStream(据我所知,这主要是硬盘驱动器上发生的 IO 密集型操作)using the code as in this stack-overflow question

  2. 在内存文件系统中创建,将两个 zip 解压到同一目录,然后再次压缩。我正在使用 jimfs - https://github.com/google/jimfs

选项 2 对我来说花费了大约 5 倍的时间。

我正在寻找内存 fs 中 zip 的开箱即用解决方案,但没有找到任何解决方案。另外 - jimfs 不能与 Java 7 nio zipfs 结合使用(没有 API 可以使用带有下划线 jimfs 的 zipfs)。

我的解决方案似乎不干净/使用最佳实践,因此我正在寻找建议/开箱即用的解决方案/库,这将帮助我在不开发和维护库的情况下实现内存性能

最佳答案

显然有一种方法可以将 ZipFS 与 JIMFS 捆绑在一起 - 即,将文件(通过 JIFS 存储在内存中)视为 Zip 文件系统。

  FileSystems.newFileSystem(
URI.create("jar:" + pathToZipFile.toUri()),
Collections.singletonMap("create", "true"));

其中pathToZipFile是存储在JIMFS中的jar文件

关于java - 使用 Java 将 zip 文件捆绑在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50890851/

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