如何检查该文件是否存在于zip存档中?
例如,检查app.apk是否包含classes.dex。
我想找到一个使用JavaNIO.2 Path的解决方案,如果可能的话,不需要提取整个归档文件。
我试过了,但没有用:
Path classesFile = Paths.get("app.apk", "classes.dex"); // apk file with classes.dex
if (Files.exists(apkFile)) // false!
...发布于 2015-09-07 10:13:31
我的解决办法是:
Path apkFile = Paths.get("app.apk");
FileSystem fs = FileSystems.newFileSystem(apkFile, null);
Path dexFile = fs.getPath("classes.dex");
if (Files.exists(dexFile))
...发布于 2021-08-06 13:33:47
另一个例子是:
try {
//open the source zip file
ZipFile sourceZipFile = new ZipFile(f);
//File we want to search for inside the zip file
String searchFileName = "TEST.TXT";
//get all entries
Enumeration e = sourceZipFile.entries();
boolean found = false;
System.out.println("Trying to search " + searchFileName + " in " + sourceZipFile.getName());
while(e.hasMoreElements())
{
ZipEntry entry = (ZipEntry)e.nextElement();
if(entry.getName().indexOf(searchFileName) != -1)
{
found = true;
System.out.println("Found " + entry.getName());
}
}
if(found == false)
{
System.out.println("File " + searchFileName + " Not Found inside ZIP file " + sourceZipFile.getName());
}
//close the zip file
sourceZipFile.close();
}
catch(IOException ioe) {
System.out.println("Error opening zip file" + ioe);
}https://stackoverflow.com/questions/32435953
复制相似问题