gpt4 book ai didi

java - 从包含大量文件的 zip 文件中提取 1 个文件的最快方法是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 20:58:57 24 4
gpt4 key购买 nike

我尝试了 java.util.zip包,太慢了。

然后我找到LZMA SDK7z jbinding但他们也缺少一些东西。

LZMA SDK 不提供一种使用方法的文档/教程,这非常令人沮丧。没有 javadoc。

虽然 7z jbinding 不提供仅提取 1 个文件的简单方法,但是,它仅提供提取 zip 文件的所有内容的方法。此外,它没有提供一种方法来指定放置解压缩文件的位置。

有什么想法吗?

最佳答案

您的 java.util.zip 代码是什么样的,您处理的 zip 文件有多大?

我可以在大约一秒钟内从一个 200MB 的 zip 文件中提取一个 4MB 的条目,其中包含 1,800 个条目:

OutputStream out = new FileOutputStream("your.file");
FileInputStream fin = new FileInputStream("your.zip");
BufferedInputStream bin = new BufferedInputStream(fin);
ZipInputStream zin = new ZipInputStream(bin);
ZipEntry ze = null;
while ((ze = zin.getNextEntry()) != null) {
if (ze.getName().equals("your.file")) {
byte[] buffer = new byte[8192];
int len;
while ((len = zin.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
out.close();
break;
}
}

关于java - 从包含大量文件的 zip 文件中提取 1 个文件的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5484158/

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