解决 Zip 解压报错 unsupported feature data descriptor used in entry
解压 zip 使用的是 apache 提供的工具 commons-compress-1.14.jar
错误信息:
org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException:
unsupported feature data descriptor used in entry
问题产生的过程
zip 文件是其他同事用 C 语言生成的,提供给我的。一共有两个 zip,解压第一没有问题,成功解压了,但是解压第二个就报错,用电脑里的压缩工具,是可以解压成功的。不知道怎么回事。
百度一下,搜索到了歪果人的网页。参考网址:https://stackoverflow.com/questions/15738312/how-to-fix-org-apache-commons-compress-archivers-zip-unsupportedzipfeatureexcept
该问题得到了解决。
解决方法
原代码:
new ZipArchiveInputStream(is, "GBK");
修改为:
new ZipArchiveInputStream(is, "GBK", false, true);