我有一个方法,解压缩压缩文件通过Java。
这种方法效果很好。
但最近我试图用这个方法解压某个文件(final output.zip),但遇到了一个运行时异常。
下面是该方法的代码:
public static List<String> unzipFiles(File zipFile, File targetDirectory) {
List<String> files = new ArrayList<String>();
try (FileInputStream fileInputStream = new FileInputStream(zipFile); ZipArchiveInputStream zipInputStream = new ZipArchiveInputStream(new BufferedInputStream(fileInputStream));){
ZipEntry zipEntry;
while ((zipEntry = zipInputStream.getNextZipEntry()) != null) {
int length;
byte data[] = new byte[bufferGlb];
String fileName = zipEntry.getName();
File opFile = new File(targetDirectory, fileName);
FileOutputStream fileOutputStream = new FileOutputStream(opFile);//This is the line where the exception is thrown
BufferedOutputStream dest = new BufferedOutputStream(fileOutputStream, bufferGlb);
while ((length = zipInputStream.read(data, 0, bufferGlb)) != -1) {
dest.write(data, 0, length);
}
dest.flush();
files.add(fileName);
fileOutputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return files;
}
//library import used:
//import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
重要的是要注意,我能够成功地使用WinRar解压缩此文件。
在上面的代码中,我获取异常的那一行用注释标记。
我得到的异常的堆栈跟踪如下:
java.io.FileNotFoundException: final output/0123450.pdf (No such file or directory)
at java.io.FileOutputStream.open0(Native Method) ~[?:1.8.0_191]
at java.io.FileOutputStream.open(FileOutputStream.java:270) ~[?:1.8.0_191]
at java.io.FileOutputStream.<init>(FileOutputStream.java:213) ~[?:1.8.0_191]
at java.io.FileOutputStream.<init>(FileOutputStream.java:162) ~[?:1.8.0_191]
at ZipUtility.unzipFiles(ZipUtility.java:281)
此外,异常中提到的文件,0123450.pdf
实际上在zip文件中。请帮忙。
我以前也遇到过类似的问题。例外情况中提到的文件:
java.io.FileNotFoundException: final output/0123450.pdf (No such file or directory)
at java.io.FileOutputStream.open0(Native Method) ~[?:1.8.0_191]
at java.io.FileOutputStream.open(FileOutputStream.java:270) ~[?:1.8.0_191]
at java.io.FileOutputStream.<init>(FileOutputStream.java:213) ~[?:1.8.0_191]
at java.io.FileOutputStream.<init>(FileOutputStream.java:162) ~[?:1.8.0_191]
at ZipUtility.unzipFiles(ZipUtility.java:281)
i、 e 0123450。pdf实际上位于文件夹最终输出
中,而不是直接位于zip文件中。尝试使用一个zip文件,该文件直接包含在其中
我试图通过CMD解压文件。 所以我安装了WinZip(及其cmd插件)、WinRAR和7-zip。 但当我试图通过CMD执行命令时: 它给出了下一个错误: 此外,我还将文件夹7-z添加到环境变量(属性)中-- 原因又能是什么呢? 在cmd或gitbash中压缩时,出现如下错误 解决方案: 在您的机器中安装7z 在环境变量中设置路径- 现在要在git bash中使用7z- 转到C:\Program
本文向大家介绍Java解压和压缩带密码的zip文件过程详解,包括了Java解压和压缩带密码的zip文件过程详解的使用技巧和注意事项,需要的朋友参考一下 前言 JDK自带的ZIP操作接口(java.util.zip包,请参看文章末尾的博客链接)并不支持密码,甚至也不支持中文文件名。 为了解决ZIP压缩文件的密码问题,在网上搜索良久,终于找到了winzipaes开源项目。 该项目在google cod
问题内容: 我正在尝试解压缩一些zip文件,它的大小约为65兆。下面的代码段: 此方法实际上将文件解压缩: 那个执行者/未来的东西只是为了确保我正确地做。在类Finder中调用此方法,该类在目录中查找zip文件并尝试将其解压缩。它基于此代码http://docs.oracle.com/javase/tutorial/essential/io/walk.html 具体来说: 现在的问题。真的很有趣。
本文向大家介绍Java解压zip文件的关键代码,包括了Java解压zip文件的关键代码的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,给大家贴关键代码了,具体代码如下所示: 好了,代码到此结束,以上所述是小编给大家介绍的Java解压zip文件的关键代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!
我正在尝试解压文件使用Java,它正在编译没有任何错误。当我从工具中调用它,并给出文件的绝对目标路径和源路径时,例如:source:d:\data\test.zip destination:d:\data\op\ 我收到了类似访问被拒绝的错误(我有系统的管理访问权限) 堆栈跟踪: 正在提取:测试/新文本文档-复制(2).txt java.io.FileNotFoundException:d:\da
本文向大家介绍Python压缩解压缩zip文件及破解zip文件密码的方法,包括了Python压缩解压缩zip文件及破解zip文件密码的方法的使用技巧和注意事项,需要的朋友参考一下 python 的 zipfile 提供了非常便捷的方法来压缩和解压 zip 文件。 例如,在py脚本所在目录中,有如下文件: 将 readability 目录中的文件压缩到脚本所在目录的 readability.zip