如何检查zip存档中是否存在该文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查zip存档中是否存在该文件?相关的知识,希望对你有一定的参考价值。

如何检查zip存档中是否存在该文件? 例如,检查app.apk是否包含classes.dex。 我想找到一个使用Java NIO.2 Path的解决方案,如果可能的话,不提取整个存档。

我已经尝试过但它不起作用:

Path classesFile = Paths.get("app.apk", "classes.dex");  // apk file with classes.dex
if (Files.exists(apkFile))  // false!
    ...
答案

我的解决方案是:

Path apkFile = Paths.get("app.apk");
FileSystem fs = FileSystems.newFileSystem(apkFile, null);
Path dexFile = fs.getPath("classes.dex");
if (Files.exists(dexFile))
    ...
另一答案

您可以尝试ZipInputStream。用法如下: -

    ZipInputStream zip = new ZipInputStream(Files.newInputStream(
            Paths.get(
                    "path_to_File"),
            StandardOpenOption.READ));
    ZipEntry entry = null;

    while((entry = zip.getNextEntry()) != null){
        System.out.println(entry.getName());
    }

以上是关于如何检查zip存档中是否存在该文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中的 WinRAR、7Zip、Zip、Tar、Winzip 中检查文件是不是存在

如何更新 zip 存档中的一个文件

如何检查存档是不是在 python 中只有一个文件夹?

如何检查 PHP 中是不是加密的 Zip 存档?

如何使用 perl Archive::Zip 将文件添加到存档中?

检查 ZIP 存档中内容的文件大小