700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java zip解压抛出异常 java – ZipFile抛出错误 但ZipInputStream能够解压缩归档

java zip解压抛出异常 java – ZipFile抛出错误 但ZipInputStream能够解压缩归档

时间:2023-03-16 17:41:05

相关推荐

java zip解压抛出异常 java – ZipFile抛出错误 但ZipInputStream能够解压缩归档

我遇到了

java.util.zip的奇怪行为.*

我有一个zip文件,在解压缩后会发生这种情况

ZipFile zipfile = new ZipFile(file, ZipFile.OPEN_READ);

这是exaxt错误消息

java.util.zip.ZipException: error in opening zip file

at java.util.zip.ZipFile.open(Native Method)

at java.util.zip.ZipFile.(ZipFile.java:127)

at java.util.zip.ZipFile.(ZipFile.java:143)

at com.basware.ExtractZip.unpack(ExtractZip.java:27)

at com.basware.ExtractZip.main(ExtractZip.java:17)

但是,如果我使用以下代码,它可以打开存档而不会出现任何错误

try {

BufferedOutputStream dest = null;

File file = new File("File_Path");

FileInputStream fis = new FileInputStream(file);

ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));

ZipEntry entry;

while((entry = zis.getNextEntry()) != null) {

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();

请注意,使用WinZIP压缩文件.

我的问题是ZipFile和ZipInputStream几乎相同,为什么ZipFile给出异常以及为什么它无法执行解压缩.

编辑:问题是如果我使用WinZip工具压缩文件,然后使用列出的程序解压缩它工作正常.但是,这个问题是专门针对来自外部源的归档(外部来源声称他们正在使用WinZip).On最重要的是,如果我使用WinZip工具打开相同的存档(外部存档),它会显示和解压缩文件.但是这个JAVA特定代码(ZipFile)根本不起作用.

编辑:我无法弄清楚为什么java本机代码不能用于我的ZIP存档,但apache压缩解决了我的问题.它正在为我工​​作,如Ian Roberts所建议的.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。