解压缩包含多个文件的7zip存档&;Java中的目录

解压缩包含多个文件的7zip存档&;Java中的目录,java,7zip,lzma,Java,7zip,Lzma,我想用Java解压一个7zip/lzma归档文件,其中包含多个文件和目录。我曾尝试使用官方的7zip SDK,但失败了,因为我的编程技能在这门学科上还不够高级。 然而,我找到了一些使Java支持更容易的库,比如LzmaOutputStream/LzmaInputStream——但是我不知道如何使用这些“流”来解压缩多文件归档。我被卡住了。在本例中,将压缩的替换为新文件(“路径到文件”)。示例代码将生成一个输出流,我假设LzmaOutputStream或库具有将流转换为二进制或字符串的适当方法 默

我想用Java解压一个7zip/lzma归档文件,其中包含多个文件和目录。我曾尝试使用官方的7zip SDK,但失败了,因为我的编程技能在这门学科上还不够高级。
然而,我找到了一些使Java支持更容易的库,比如LzmaOutputStream/LzmaInputStream——但是我不知道如何使用这些“流”来解压缩多文件归档。我被卡住了。

在本例中,将
压缩的
替换为新文件(“路径到文件”)。示例代码将生成一个输出流,我假设LzmaOutputStream或库具有将流转换为二进制或字符串的适当方法

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

我建议使用一个支持良好的压缩算法,比如Zip或gz。如果你必须使用lzma,你可以使用tar来构建一个文件归档,然后用lzma压缩。或者使用Zip进行零压缩


这是一个。

谢谢您提供的信息。无法切换到其他库,因为提供了7zip文件,并且格式无法更改(虽然很遗憾,但却是真的)。我也找不到7zip存档的任何规范,这很奇怪-因为已经有一些应用程序支持7zip,但不是开源的。请查看此