gpt4 book ai didi

java - zip4j 如何解压目录

转载 作者:太空宇宙 更新时间:2023-11-04 07:20:57 26 4
gpt4 key购买 nike

我需要使用 zip4j 从 zip 中提取目录。我可以找到目录中的每个文件并将其解压。

如何列出目录中的文件?

或者,是否有实用程序可以将目录提取到路径?

最佳答案

从Zip4j的ZipFile中,您可以获得该zip文件中所有文件头的列表。然后你可以从这个文件头检查这个"file"是否是一个目录。如果是,请将其提取。

下面是仅从 zip 文件中提取目录的示例代码

import java.util.List;

import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.model.FileHeader;

public class ExtractDirectory {

public static void main(String[] args) {
try {
ZipFile zipFile = new ZipFile("myZipWithDirectories.zip");
if (zipFile.isEncrypted()) {
zipFile.setPassword("test".toCharArray());
}

@SuppressWarnings("unchecked")
List<FileHeader> fileHeaders = zipFile.getFileHeaders();

for(FileHeader fileHeader : fileHeaders) {
if (fileHeader.isDirectory()) {
zipFile.extractFile(fileHeader, "anyValidPathToExtractTo");
}
//Alternatively, if you want to extract a directory by its name
//if (fileHeader.isDirectory() && fileHeader.getFileName().equals("myDirectoryName")) {
// zipFile.extractFile(fileHeader, "anyValidPathToExtractTo");
//}
}

} catch (ZipException e) {
e.printStackTrace();
}
}
}

关于java - zip4j 如何解压目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19329502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com