在調(diào)用JDK自帶的zipfile讀取壓縮包文件的時(shí)候,出現(xiàn)了以下錯(cuò)誤:
SjXcmcFeignClient:124 - BaseFeignClient 攔截到【未知系統(tǒng)異常】Exception異常:
java.lang.IllegalArgumentException: MALFORMED[1]
at java.util.zip.ZipCoder.toString(ZipCoder.java:65)
at java.util.zip.ZipFile.getZipEntry(ZipFile.java:583)
at java.util.zip.ZipFile.access$900(ZipFile.java:60)
at java.util.zip.ZipFile$ZipEntryIterator.next(ZipFile.java:539)
at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:514)
at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:495)
at com.xcwlkj.ksyw.web.KsjhglSjXcmcFeignClient.updatekszp(KsjhglSjXcmcFeignClient.java:962)
......
后來(lái)經(jīng)過(guò)檢查,發(fā)現(xiàn)壓縮包內(nèi)有一個(gè)文件的名字帶有中文,解析壓縮包中,讀取中文文件導(dǎo)致報(bào)錯(cuò),然后查看了Zipfile的構(gòu)造方法,發(fā)現(xiàn)還有一個(gè)設(shè)置字符編碼的參數(shù)
public ZipFile(String name, Charset charset) throws IOException
{
this(new File(name), OPEN_READ, charset);
}
于是嘗試設(shè)置zip的字符編碼為GBK格式,如下:
ZipFile zipFile=new ZipFile(zipPath,Charset.forName("GBK"));文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-453893.html
代碼重新編譯后執(zhí)行,問(wèn)題得到解決。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-453893.html
到了這里,關(guān)于記報(bào)錯(cuò)信息:java.lang.IllegalArgumentException: MALFORMED解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!