没有子文件夹的Java解压.zip文件
我正在使用zip4j进行解压缩,但是现在我需要解压缩没有原始文件夹结构的.zip文件没有子文件夹的Java解压.zip文件,java,unzip,zip4j,Java,Unzip,Zip4j,我正在使用zip4j进行解压缩,但是现在我需要解压缩没有原始文件夹结构的.zip文件 e.g. desktop/abc.zip/ /a /b/ /x.txt /y.txt /z.txt 我想将abc.zip中的所有文件直接解压缩到桌面 e.g. desktop/x.txt /y.txt /z.txt 由于
e.g.
desktop/abc.zip/
/a
/b/
/x.txt
/y.txt
/z.txt
我想将abc.zip中的所有文件直接解压缩到桌面
e.g.
desktop/x.txt
/y.txt
/z.txt
由于.zip文件将受密码保护,因此我无法通过java.util.zip库实现这一点。我对我的要求做了一些研究,但没有结果。我还试着查看/重写zip4j的源代码,但这似乎超出了我的能力
我是否错过了zip4j中可以帮助我轻松实现它的任何设置,或者是否有任何其他java库适合此要求
下面是我的部分程序的源代码:
public class FileDecompressor {
void decompressFiles(String sourceFile, String fileDestination) {
decompressFiles(sourceFile, fileDestination, "");
}
void decompressFiles(String sourceFile, String fileDestination, String zipPassword) {
try {
ZipFile zipFile = new ZipFile(sourceFile);
if (zipFile.isEncrypted()) {
zipFile.setPassword(zipPassword);
}
zipFile.extractAll(fileDestination);
} catch (ZipException e) {
e.printStackTrace();
}
}
}
它本身不是“直接”的,但您可以解压缩到临时目录并将内容移动到桌面
一个优点是,如果在同一个驱动器上使用move,则整个目录将一次性显示在桌面上,而不是一部分一部分地显示。这不是直接的,但您可以解压缩到临时目录并将内容移动到桌面上
一个优点是,如果在同一驱动器上使用move,则整个目录将一次性显示在桌面上,而不是一部分一部分地显示