java - 无法在 Java6 中使用 SevenZFile 解压 7z 文件

标签 java compression unzip 7zip

我可以在 Java 7 和 java 8 中使用 org.apache.commons.compress.archivers.sevenz.SevenZFile 解压缩 7z 文件。但我无法使用 Java6 来做到这一点。你能帮我通过 Java 6 解决这个问题吗? Java6 找不到 SeekableByteChannel :(

您可以在下面找到示例代码:

SeekableInMemoryByteChannel inMemoryByteChannel = new 
 SeekableInMemoryByteChannel(targetArray);
    SevenZFile sevenZFile = new SevenZFile(inMemoryByteChannel);

最佳答案

从 Apache Commons Compress 1.13 开始,运行时需要 Java 7。如果您需要 Java6 版本 1.12 或更早版本的支持,则可以使用(但可能具有较少的功能或一组不同的错误)。

对于 7z 1.12 及更早版本,仅允许读取文件,而不允许读取任意流。迁移到 Java7 以及使用 SeekableByteChannel 的机会允许支持从更通用的输入中进行读取。

关于java - 无法在 Java6 中使用 SevenZFile 解压 7z 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47288843/

相关文章:

java - 带枚举的扫描仪,Java

java - 利用 Apache HttpClient 的持久性?

java - 如何为在 Tomcat 上运行的应用程序使用 System.getProperty()

mysql - 检测到被阻止的 DLL : MySQL because of No-Installation Download

java - 为什么 getNextZipEntry 会跳过几个文件的根目录?

java - 我可以/应该将 kotlinc.xml 添加到我的版本控制忽略文件吗?

facebook - 如何降低封面图片的压缩率?

c - 哈夫曼编码表在实践中是如何构建的?

python - 内存中 numpy 数组(图像、uint8)的有损压缩

r - 直接从环境中解压 R 对象