我需要捆绑几个 zip 文件(罐子)。我尝试了以下解决方案:
通过遍历输入流的每个条目并将其复制到输出流(据我了解,这主要是在硬盘驱动器上发生的 IO 密集型操作),从 ZipInputStream 倒入 ZipOutputStream,就像在这个堆栈溢出问题中一样
在内存文件系统中创建,将两个 zip 解压缩到同一个目录,然后再次压缩。我正在使用 jimfs - https://github.com/google/jimfs
选项 2 对我来说少了大约 5 倍。
我正在寻找一个开箱即用的解决方案,用于内存 fs 中的 zip,但没有找到。另外 - jimfs 不能与 Java 7 nio zipfs 结合使用(没有 API 可以使用带有下划线 jimfs 的 zipfs)。
我的解决方案似乎不干净/使用最佳实践,所以我正在寻找建议/开箱即用的解决方案/库,这将帮助我在不开发和维护库的情况下实现内存性能