android - 从android中的存档中解压单个文件

标签 android archive compression

我有一个很大的文件(在我的例子中是 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

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

最佳答案

您可以使用 libzip library .

关于android - 从android中的存档中解压单个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11808259/

相关文章:

android ant -pre-compile 与 -pre-build

android - 恢复 Android Activity

python - 如何使函数 "make_archive"包含python中的父目录

wordpress - Git Archive 但首先将所有文件放在一个文件夹中然后开始归档

xml - 是否可以在 Jenkins 测试作业中下载原始 xml 文件

javascript - 如何在一个js文件中组装angularjs项目

java - 改进代码格式(性能)

android - STL 字符串赋值 NDK 崩溃

c# - 重复字符的字符串压缩

java - 如何在 Java 中将文件追加到 .tar 存档中?