gpt4 book ai didi

java - FTP zip 文件提取错误

转载 作者:行者123 更新时间:2023-11-30 04:29:50 24 4
gpt4 key购买 nike

我正在尝试从服务器中提取zip文件(zip文件在服务器中。所以我尝试通过FTP提取它)并且我正在使用此代码,

  byte[] buf = new byte[1024];

ZipInputStream zinstream = new ZipInputStream(Home.ftpClient.retrieveFileStream("HO2BR.br.3162675983055490721.zync"));
ZipEntry zentry = zinstream.getNextEntry();
System.out.println("Name of current Zip Entry : " + zentry + "\n");
while (zentry != null) {
String entryName = zentry.getName();
System.out.println("Name of Zip Entry : " + entryName);
FileOutputStream outstream = new FileOutputStream(entryName);
int n;

while ((n = zinstream.read(buf, 0, 1024)) > -1) {
outstream.write(buf, 0, n);

}
System.out.println("Successfully Extracted File Name : " + entryName);
outstream.close();

zinstream.closeEntry();
zentry = zinstream.getNextEntry();
}
zinstream.close();

}

ZipInputStream(Home.ftpClient.retrieveFileStream("HO2BR.br.3162675983055490721.zync")); 为输入流分配FTPClient的retrieveFileStream

执行程序时发生此错误

java.util.zip.ZipException:无效距离太远 在 java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)

如何解决这个异常?

最佳答案

很可能ftpClient.retrieveFileStream不支持查找。 Zip“目录”条目出现在文件的最后。因此,“打开”第一个项目需要能够备份到文件的开头来读取该项目。

您需要将 zip 文件下载到本地文件,然后从那里提取内容。

关于java - FTP zip 文件提取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14906896/

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