因為zip文件名為中文,或者壓縮內容有中文
解決方法:
錯誤詳情:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.IllegalArgumentException: MALFORMED
at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
at java.util.zip.ZipFile.getZipEntry(ZipFile.java:529)
at java.util.zip.ZipFile.access$900(ZipFile.java:56)
at java.util.zip.ZipFile$1.nextElement(ZipFile.java:511)
at java.util.zip.ZipFile$1.nextElement(ZipFile.java:481)
at org.zeroturnaround.zip.ZipUtil.iterate(ZipUtil.java:366)
at org.zeroturnaround.zip.ZipUtil.unpack(ZipUtil.java:772)
at org.zeroturnaround.zip.ZipUtil.unpack(ZipUtil.java:755)
at com.webthk.map.utils.ImageCutUtil.main(ImageCutUtil.java:29)
解決辦法:
將原有解壓插件換為基於org.apache.ant 的解壓方法
另,解壓rar可以用java-unrar-0.3.jar解決 (參考http://blog.csdn.net/zheng2008hua/article/details/6998345)
(參考http://www.blogjava.net/icewee/archive/2012/05/26/379267.html)
原因:
有兩種可能:java路徑問題 將 " \ " 換為 " \\ " 即可
是因為java.util.zip下的格式轉換有問題 ,jdk中的zip存在字符編碼的問題。windows下壓縮的默認編碼是GBK(話說可以通過修改jdk解決,技術難度也太高了,未親測)
http://blog.csdn.net/u012730333/article/details/42215667
http://blog.csdn.net/aitangyong/article/details/40430467
http://blog.csdn.net/zheng2008hua/article/details/6998345