gpt4 book ai didi

java - 压缩(zipped)文件夹无效 Java

转载 作者:搜寻专家 更新时间:2023-11-01 01:56:10 25 4
gpt4 key购买 nike

我正在尝试使用 ZipOutputStream 将文件从服务器压缩到一个文件夹中。压缩包下载后双击打不开。发生错误“压缩(zipped)文件夹无效”。但是如果我从上下文菜单打开它 -> 7zip ->打开文件它工作正常。问题的原因可能是什么?

sourceFileName="./file.txt"'
sourceFile = new File(sourceFileName);

try {
// set the content type and the filename
responce.setContentType("application/zip");
response.addHeader("Content-Disposition", "attachment; filename=" + sourceFileName + ".zip");
responce.setContentLength((int) sourceFile.length());


// get a ZipOutputStream, so we can zip our files together
ZipOutputStream outZip = new ZipOutputStream((responce.getOutputStream());

// Add ZIP entry to output stream.
outZip.putNextEntry(new ZipEntry(sourceFile.getName()));

int length = 0;
byte[] bbuf = new byte[(int) sourceFile.length()];

DataInputStream in = new DataInputStream(new FileInputStream(sourceFile));
while ((in != null) && ((length = in.read(bbuf)) != -1)) {
outZip.write(bbuf, 0, length);
}

outZip.closeEntry();
in.close();
outZip.flush();
outZip.close();

最佳答案

7Zip 可以打开多种 zip 格式,并且对异常情况相对容忍。 Windows 双击需要相对特定的格式,容忍度要低得多。

您需要查找 zip format然后使用十六进制编辑器(例如 Hex Editor Neo)查看您的文件(和“好的”文件),看看可能有什么问题。

(一种可能是您使用了错误的压缩算法。还有其他几种变体需要考虑,尤其是您是否生成“目录”。)

关于java - 压缩(zipped)文件夹无效 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561134/

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