gpt4 book ai didi

java - 打开使用 java 创建的 zip 文件时出错

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:36:21 27 4
gpt4 key购买 nike

我创建了一个小应用程序来从磁盘读取一些文件并使用 java.util.zip.ZipOutputStream 将其压缩。它正在成功创建 zip 文件。但是在 Windows 中,当我尝试打开它/提取它时,会收到类似“Windows 已阻止访问这些文件以帮助保护您的计算机”之类的错误消息。我只压缩 csv 文件。但是,如果我尝试使用 java 本身的 zipinputstream 类解压缩,它会正确解压缩。任何人都可以对此有所了解。

问候,阿努普

最佳答案

我知道这篇文章是几年前的了。但是,我第一次使用 java.util.zip 时遇到了非常相似的问题,这篇文章引导我解决了这个问题。

Anoop 关于绝对路径的最后评论帮助我找到了问题所在。由于找了好几个帖子都没有看到答案,所以想贴在这里——其实是在回应Roland最后的问题:

问题出在我将 ZipEntry(file) 与完全限定的路径/文件一起使用时,而不是相对路径。我无法使用我的任何 Windows 操作系统实例打开生成的 ZIP。但是,我可以用 Java 再次提取文件。直到我用 7zip 打开 zip,我才意识到这个问题。我的 result.zip 文件中的第一个文件夹是“D:”。我的目录在我的 D 盘下是一个很长的路径。因此,当打开我的“Results.zip”文件时,单击 zip 文件(来自 7zip)中的目录树后,我会看到以下内容:Results.zip\D:\Apps\vertigo\instance5\runtime\myManager\discoveryResources\数据

“数据”目录实际上包含我压缩的所有文件/目录。

当我从数据目录中剥离路径时,Results.zip 以“data”而不是“D:”开头。并且该文件可以使用 Windows 7、2012 等打开。

希望它对以后的人有所帮助。

谢谢,-克里斯

关于java - 打开使用 java 创建的 zip 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4067021/

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