是否可以解压缩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();
当我执行此代码时输出如
解压缩文件夹----- folder1(包含1.txt,2.xlsx,3.pdf等文件)和folder2(包含4.txt,5.pdf等文件)
但我想从所有文件夹和输出中提取唯一的文件 1.txt,2.xlsx,3.pdf,4.txt,5.pdf在输出路径中。
是否有任何命令。感谢。
答案 0 :(得分:3)
所有你需要改变的地方:
String[] command={sevenZipLocation,"e",src,"-o"+target,"-aou","-y","*.*","-r"};
PS。我不认为Java是运行OS命令的最佳选择。你会浪费很多时间。但是,如果你坚持,不要忘记也可能有错误。