【发布时间】:2012-12-12 08:23:55
【问题描述】:
我正在使用Apache Commons Compress for Java 将多个日志文件压缩为单个tar.bz2存档。
但是,压缩需要很长时间(> 12 小时),因为我每天压缩大约 20GB 的文件。
由于这个库压缩文件是单线程的,我想知道是否有办法做到这一点。
我找到了很多解决方案(命令行 pbzip2 或一些 C++ 库),但我为 java 找到的只是这篇博文:
https://plus.google.com/117421466255362255970/posts/3jfKVu325zh
我的 Java 应用程序中似乎无法使用它。
那里有什么吗?你会推荐什么?或者是否有另一种更快的解决方案,具有类似的压缩率,例如 bzip2?
【问题讨论】:
-
我不知道这是否在你的能力范围内,但你总是可以尝试编写自己的 bzip2 多线程实现?
-
嘿,杰西,是的,那会很膨胀,但那肯定是我够不着的。
-
如何在 Java 应用程序中调用 compression.ca/pbzip2?
-
@reprogrammer 是的,这样就可以了。如果没有其他解决方案,我会采取这种方法
-
然后把它变成一个答案。
标签: java parallel-processing compression bzip2 apache-commons-compress