如题,自己写了个解压工具类,可以解压内部文件格式为txt格式的zip文件,但是当解压内部文件格式为csv格式的时候出现以下异常
java.lang.IllegalArgumentException: MALFORMED
at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:297)
at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:121)
at com.jiewen.batch.test.UnZip.main(UnZip.java:14)
我的代码如下:
public class UnZip {
public static void main(String[] args) {
ZipInputStream zin;
try {
zin = new ZipInputStream(new FileInputStream("F://20881015683516310156_20160605.csv.zip"));
// 实例化对象,指明要进行解压的文件
ZipEntry entry; // 获取下一个ZipEntry
while (((entry = zin.getNextEntry()) != null)&& !entry.isDirectory()) {
// 如果entry不为空,并不在同一目录下
File file = new File("F:\\" + entry.getName()); // 获取文件目录
if (!file.exists()) { // 如果该文件不存在
file.mkdirs();// 创建文件所在文件夹
file.createNewFile(); // 创建文件
}
zin.closeEntry(); // 关闭当前entry
System.out.println(entry.getName() + "解压成功");
}
zin.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
各位大神帮我看看。