我想用Java来解压缩带有多个文件和目录的7zip / lzma存档。我尝试使用官方的7zip SDK,但由于我的编程技能在该主题上并不先进,因此我失败了。 但是,我喜欢一些使Java支持更加轻松的库,说到LzmaOutputStream / LzmaInputStream-但是我不知道如何使用这些“流”来解压缩多文件存档。我被困住了。

有帮助吗?

解决方案

在示例中,将compressed替换为新的File(“ PATH_TO_FILE”)。该示例代码将产生一个输出流,我想LzmaOutputStream或该库具有将流转换为二进制或字符串的适当方法。

默认情况下,Lzma只是一种压缩算法,而不是tar或zip之类的文件存档器。(注意:7-Zip程序是一个文件存档器,但是链接到的库不支持文件遍历和解压缩。

我建议使用支持良好的压缩算法,例如Zip或gz。如果必须使用lzma,则可以使用tar来构建文件存档,然后使用lzma对其进行压缩。或使用零压缩的zip。

这是一个 java TAR库

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top