在 Java 中解压包含多个文件和目录的 7zip 存档 [关闭]

2024-02-13

我想用 Java 解压包含多个文件和目录的 7zip/lzma 存档。我尝试使用官方的 7zip SDK,但失败了,因为我的编程技能对于这个主题来说并不是那么高级。 然而,我发现一些库可以使 Java 中的支持变得更容易,比如 LzmaOutputStream/LzmaInputStream - 但是我不知道如何使用这些“流”来解压缩多文件存档。我被困住了。


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

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

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

这里有一个java TAR 库 http://www.trustice.com/java/tar/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 中解压包含多个文件和目录的 7zip 存档 [关闭] 的相关文章

随机推荐