使用 Java 解压缩没有文件夹的所有文件
Unzip all file without it's folder using Java
是否可以在没有文件夹的情况下从 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、[=43等文件=])
但我想从所有文件夹和输出中提取唯一的文件
1.txt、2.xlsx、3.pdf、4.txt、5.pdf在输出路径中。
有什么命令吗?谢谢
所有你需要改变的:
String[] command={sevenZipLocation,"e",src,"-o"+target,"-aou","-y","*.*","-r"};
PS。我不认为 Java 是 运行 OS 命令的最佳选择。你会浪费很多时间。但如果你坚持,不要忘记也可能有一个错误流。
是否可以在没有文件夹的情况下从 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、[=43等文件=])
但我想从所有文件夹和输出中提取唯一的文件 1.txt、2.xlsx、3.pdf、4.txt、5.pdf在输出路径中。
有什么命令吗?谢谢
所有你需要改变的:
String[] command={sevenZipLocation,"e",src,"-o"+target,"-aou","-y","*.*","-r"};
PS。我不认为 Java 是 运行 OS 命令的最佳选择。你会浪费很多时间。但如果你坚持,不要忘记也可能有一个错误流。