【发布时间】:2019-12-20 20:36:45
【问题描述】:
我在 Windows 2008 r2 虚拟机上压缩了一堆 IIS 日志文件,方法是在 Windows 资源管理器中选择它们,然后使用发送到 -> 压缩压缩文件夹。
我使用 java.util.ZipFile、zip4j 和 apache commons compress library 在 scala 中编写了不同的程序。
zip4j 返回:Exception in thread "main" net.lingala.zip4j.exception.ZipException: Unknown compression method
commons 压缩返回:org.apache.commons.compress.compressors.CompressorException: No Compressor found for the stream signature.
java.util.Zip 返回:java.util.zip.ZipException: invalid compression method
这些 zip 文件有什么特别之处,以至于这些方法都无法解压它们?
如何使用 JVM 库解压缩它们?
作为示例,我使用以下代码:https://*.com/a/10634536/832783 解压缩其中一个文件,它返回了 invalid compression method 异常。
【问题讨论】:
-
7-zip能打开zip文件吗?
-
是的,7-zip 可以打开文件。
-
我发布了一个截图,其中包含标题中的字节
-
ZIP 支持多种压缩方法,Windows 中使用的一种可能是 Java 运行时不支持的一种不常见的方法(请参阅en.wikipedia.org/wiki/Zip_(file_format)#Compression_methods)。使用 7-zip 调查您的 zip 文件以确定是否是这种情况。