java - 如何使用 CBZip2OutputStream 压缩多个文件

标签 java stream bzip2

我使用 CBZip2OutputStream 创建压缩的 bzip 文件。它有效。

但我想将多个文件压缩在一个 bzip 文件中,但不使用 tar 存档。

如果我有 file1、file2、file3,我希望它们位于 files.bz2 中,而不是存档 files.tar.bz2 中。

可能吗?

最佳答案

BZip2 is only a compressor for single files因此,如果不先将多个文件放入存档文件中,就不可能将它们放入 Bzip2 文件中。

您可以将自己的文件开始和结束标记放入输出流中,但最好使用标准存档格式。

Apache Commons has TarArchiveOutputStream (和 TarArchiveInputStream )这在这里很有用。

关于java - 如何使用 CBZip2OutputStream 压缩多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13034134/

相关文章:

linux - 如何在不解压缩的情况下查找 bzip2 存档中的文件大小?

java - 如何通过引用 Java 中包含数组的 HashMap 来向数组添加值?

json - Node 流 : remote stream is returning JSON, 但在 ('data' 上)显示缓冲区

node.js - 如何使用 Gulp 在流中替换?

rust - 围绕异步和流的生命

gzip - bunzip/bzip2 整个目录而不是目录中的单个文件

java - 单选按钮未取消选择

java - 无法在数组列表中添加值?

java - 如何使用 Kotlin 识别 AWS Amplify 中的身份验证错误类型?

python - 在python中解压没有临时文件的bz2 url