2010-08-12 90 views
4

我想解压缩包含多个文件的7zip/lzma存档,其中包含多个文件&目录。我试图使用官方的7zip SDK,但是我失败了,因为我的编程技巧对于这个主题来说并不那么先进。 但是我为了使Java支持变得更容易,提到了一些库,我说了LzmaOutputStream/LzmaInputStream - 但我不知道如何使用这些“流”来解压缩多文件归档。我被卡住了。在Java中解压缩包含多个文件和目录的7zip存档

+0

检查了这一点http://stackoverflow.com/questions/3435751/how-to-unzip-a-7zip-archive-in-android/35750229#35750229 – Simon 2016-03-02 14:38:43

回答

2

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

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

我建议使用像Zip或gz这样的支持者压缩算法,如果你必须使用LZMA你可以用tar建立一个存档文件,然后用LZMA压缩它,或者使用拉链与零压缩。

这里是一个java TAR library

+0

谢谢您的信息。切换到另一个库是不可能的,因为提供了7zip文件,格式不能改变(悲伤但真实)。我也找不到7zip存档的任何规范,这很奇怪 - 因为已经有一些支持7zip的应用程序,但不是开源的。 – Wolkenjaeger 2010-08-13 06:35:23

相关问题