寻找 Apache Commons Compress ( https://commons.apache.org/proper/commons-compress/ ) 的替代压缩 Java 库。尝试读取使用“ENHANCED_DEFLATED”(deflate64)压缩的 zip 条目时,Commons Compress 会引发错误。这是引发异常的示例摘录。

public void doRecurseZip(File inputFile)
        throws IOException{
    ZipFile srcZip = null;
    srcZip = new ZipFile(inputFile);

    final Enumeration<ZipArchiveEntry> entries = srcZip.getEntries();
    while (entries.hasMoreElements()) {
        final ZipArchiveEntry srcEntry = entries.nextElement();
        String entryFilename = srcEntry.getName();
        String entryMimetype = "application/octet-stream";
        boolean canRead = srcZip.canReadEntryData(srcEntry);
        InputStream zipStream = srcZip.getInputStream(srcEntry);
        zipStream.close();
    }
    srcZip.close();
}

这是堆栈跟踪的相关部分:



有谁知道另一个可以替代 Commons Compress 的 zip 库,或者可能与它结合使用用于 deflate64 压缩方法?

最佳答案

2018 年 2 月,Apache 发布了 Compress v1.16,其中包括对 ENHANCED_DEFLATED 的支持,即。 Deflate64 。我需要这种支持并发现它似乎有效。

关于支持 Deflate64 的 Java 压缩库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34299045/

10-10 14:07