java.util.zip解压问题

qwchung qwchung 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码如下:
import java.io.*;
import java.util.zip.*;

public class UnZip {
static final int BUFFER = 2048;
public static void main (String argv[]) {
try {
BufferedOutputStream dest = null;
FileInputStream fis = new
FileInputStream("test.zip");
//System.out.println(fis.toString());
ZipInputStream zis = new
ZipInputStream(new BufferedInputStream(fis));

ZipEntry entry=null;
while((entry = zis.getNextEntry())!= null)
//好象就是这里的
//zis.getNextEntry()方法出了错,但不知道为什么?
{
System.out.println("Extracting: " +entry);
int count;
byte data[] = new byte[BUFFER];
// write the files to the disk
FileOutputStream fos = new
FileOutputStream(entry.getName());
dest = new
BufferedOutputStream(fos, BUFFER);
while ((count = zis.read(data, 0, BUFFER))
!= -1) {
dest.write(data, 0, count);
}
dest.flush();
dest.close();
}
zis.close();
} catch(Exception e) {
e.getMessage();
e.printStackTrace();

}
}
}
执行后报的异常为:
java.lang.IllegalArgumentException
at java.util.zip.ZipInputStream.getUTF8String(ZipInputStream.java:291)
at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:230)
at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:75)
at myzip.UnZip.main(UnZip.java:27)

请高手指点!!!
...全文
评论 10
收藏 已收藏
分享
返回顶部
qwchung
Java SE 62,620 成员 307,251 内容