gpt4 book ai didi

java - 解压缩过程适用于一个 zipper ,但不适用于另一个 zipper ?

转载 作者:行者123 更新时间:2023-12-01 05:39:07 36 4
gpt4 key购买 nike

我一直试图理解为什么我的代码在一个 zip 上不起作用,而在另一个 zip 上不起作用......
THIS zip 解压 , 和 THIS zipper 没有这是我使用的代码:

String zipFile = Path + FileName;


FileInputStream fin = new FileInputStream(zipFile);
ZipInputStream zin = new ZipInputStream(fin);

ZipEntry ze = null;
while ((ze = zin.getNextEntry()) != null) {
UnzipCounter++;
if (ze.isDirectory()) {
dirChecker(ze.getName());
} else {
FileOutputStream fout = new FileOutputStream(Path
+ ze.getName());
while ((Unziplength = zin.read(Unzipbuffer)) > 0) {
fout.write(Unzipbuffer, 0, Unziplength);
}
zin.closeEntry();
fout.close();

}

}
zin.close();

谁能告诉我为什么?

zip 不起作用意味着当它到达“while ((ze = zin.getNextEntry()) != null) {”.. ze 行时,ze 始终为 null,因此它不会进入循环,因此不会提取任何内容。 .我可以使用 WinRar 打开+解压这两个文件..

最佳答案

这是实际的错误:

java.io.EOFException
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:383)
at gnu.java.util.zip.ZipFile$PartialInputStream.fillBuffer(ZipFile.java:647)

您的 zip 文件似乎已损坏。 WinRAR 往往会忽略某些类型的损坏。

这是我个人的提示 - 我相信如果工具不做这类事情会更好,因为这意味着创建 zip 文件的人可能也不知道损坏,并且当您告诉他们,他们都会说,“但事实并非如此,看……它会在[在此处插入损坏的应用程序]中打开。”

关于java - 解压缩过程适用于一个 zipper ,但不适用于另一个 zipper ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7589609/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com