解压zip文件的时候报错malformed input off : 48, length : 1,原因是压缩文件中有中文;导致错误,解决办法是设置编码:
ZipFile zipOutFile = new ZipFile(zipFile,Charset.forName("gbk"));
// 不知道编码可以使用try catch处理 try { charset = Charset.forName("gbk"); unzip = ZipUtil.unzip(zipFile, charset); } catch (Exception ex) { charset = Charset.forName("utf8"); unzip = ZipUtil.unzip(zipFile, charset); }
+错误:
java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(ZipCoder.java:58) at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:300) at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:122) at test.Hello.UnZipFolder(Hello.java:36) at test.Hello.main(Hello.java:10)
参考:https://blog.csdn.net/u012995897/article/details/80197815
发表评论