【发布时间】:2018-11-06 08:15:28
【问题描述】:
是否可以在没有文件夹的情况下从 zip 文件夹中解压缩所有文件?
示例:
zipfolder.zip 有两个子文件夹,分别称为 folder1(包含 1.txt、2.xlsx、3.pdf 等文件)和 folder2(包含 4.txt、5.pdf 等文件)
注意: 源可以是任何类型的存档文件,如 .zip、.rar、.tar、.7-zip 等
这是我的代码:
String sevenZipLocation = "C:\\Program Files\\7-Zip\\7z.exe";
String src = source filepath (zip file)
String target = output path (output path)
String[] command={sevenZipLocation,"x",src,"-o"+target,"-aou","-y"};
ProcessBuilder p = new ProcessBuilder( command );
Process process = p.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
@SuppressWarnings("unused")
String line;
while ((line = br.readLine()) != null){
System.out.println("line1 "+line);
}
process.waitFor();
当我执行此代码时,输出类似于
解压文件夹-----文件夹1(有1.txt、2.xlsx、3.pdf等文件)和文件夹2(有4.txt、5.pdf等文件)
但我想从所有文件夹中提取唯一的文件,输出如下 1.txt, 2.xlsx, 3.pdf, 4.txt, 5.pdf 在输出路径中。
是否有任何命令。谢谢。
【问题讨论】:
-
运行“7z --help”看看是否有“e”命令“解压无目录”。
-
这些会对您有所帮助。您不需要运行 CMD 命令。
-
以上链接只能解压zip文件,不能解压.rar、.tar、.7-Zip文件
标签: command-line java zip rar