gpt4 book ai didi

java - Apache Commons解压缩方法?

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:09 28 4
gpt4 key购买 nike

我最近发现了 https://commons.apache.org/proper/commons-compress/zip.html ,Apache Commons Compress 库。

但是,没有直接的方法可以简单地将给定文件解压缩到特定目录。

是否有规范/简单的方法来做到这一点?

最佳答案

一些使用 IOUtils 的示例代码:

public static void unzip(Path path, Charset charset) throws IOException{
String fileBaseName = FilenameUtils.getBaseName(path.getFileName().toString());
Path destFolderPath = Paths.get(path.getParent().toString(), fileBaseName);

try (ZipFile zipFile = new ZipFile(path.toFile(), ZipFile.OPEN_READ, charset)){
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement();
Path entryPath = destFolderPath.resolve(entry.getName());
if (entryPath.normalize().startsWith(destFolderPath.normalize())){
if (entry.isDirectory()) {
Files.createDirectories(entryPath);
} else {
Files.createDirectories(entryPath.getParent());
try (InputStream in = zipFile.getInputStream(entry)){
try (OutputStream out = new FileOutputStream(entryPath.toFile())){
IOUtils.copy(in, out);
}
}
}
}
}
}
}

关于java - Apache Commons解压缩方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30335332/

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