java.util.zip.ZipException: invalid CEN header (bad entry name)

Posted HackShendi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.util.zip.ZipException: invalid CEN header (bad entry name)相关的知识,希望对你有一定的参考价值。

I’m Shendi

今天我在使用 Java 解压 zip 压缩文件时出了问题,找寻了一番,确定问题所在


当 zip 压缩文件中带有中文的文件,操作系统为windows时(Linux不知道),在 new ZipFile的时候就会报错

解决办法就是指定编码,我指定 GBK 后就可以正常使用
可以通过 System.getProperty(“sun.jnu.encoding”) 获取到对应编码,输出为 GBK

ZipFile zip = new ZipFile(zip文件路径, Charset.forName("GBK"));
ZipFile zip = new ZipFile(zip文件路径, Charset.forName(System.getProperty("sun.jnu.encoding")));

以上是关于java.util.zip.ZipException: invalid CEN header (bad entry name)的主要内容,如果未能解决你的问题,请参考以下文章