4

我有一个大档案(在我的情况下是 zip),大小约为 100MB,其中包含约 15000 个文件。我需要从这个档案中快速提取一个文件。

我尝试了下一个代码:

final String zipPath = "archive.zip";
FileInputStream fin = new FileInputStream(zipPath);

in = new ZipInputStream(fin);

for (ZipEntry entry = in.getNextEntry(); entry != null; entry = in.getNextEntry()) {
    if(entry.equals("file.name")){
    //unzip this entry
    break;
}
}

它有效,但太慢了。

在存档中找到必要文件是否有另一种可能性?例如,在 linux 上,使用命令可以非常快

unzip archive.zip myfile.name

一般来说,我需要从某个存档中找到并解压缩一个文件。它可以是另一种格式......可能是另一种格式,它可以更容易。

4

1 回答 1

1

您可以使用libzip 库

于 2012-08-04T17:32:10.130 回答