java.lang.illegalArgumentException:MALFORMED报错

发布时间 2023-04-19 22:37:40作者: 月球海员

java.lang.illegalArgumentException:MALFORMED报错

上班处理业务反馈的问题时遇到了这个报错,情景是用户上传了一个zip文件,在下载zip文件时报这个错误。
经排查,原因是zip文件中含有中文字符"—" 跟英文字符"-"基本分别不出来

window环境下默认字符集为GBK,ZipFile则默认使用UTF-8,当文件名存在中文字符时,处理就会报错。
解决方法一:文件名不要出现中文字符
解决方法二:创建ZipFile时,设置字符集为GBK

ZipFile zipfile = new ZipFile(filePath, Charset.forName("GBK"))