在 JAR 文件中导航和检索文件
使用 JAR 文件时,有必要出于各种目的访问内部文件。当您需要枚举 JAR 文件中的文件(特别是加载图像并动态访问它们)时,就会出现这个问题。
解决方案涉及利用多种方法的组合。首先,确定主类所在的 JAR 文件。您可以使用 java.util.Zip 检索此信息。
知道 JAR 文件名后,创建一个 CodeSource 对象并获取 JAR 文件的 URL。接下来,使用 ZipInputStream 访问 JAR 文件的内容。持续从流中检索 ZipEntry 对象并检查每个条目的名称。如果名称与所需的目录路径匹配,您可以对该条目执行任何必要的操作。
以下是列出 JAR 文件中图像的示例代码片段:
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); if (src != null) { URL jar = src.getLocation(); ZipInputStream zip = new ZipInputStream(jar.openStream()); while (true) { ZipEntry entry = zip.getNextEntry(); if (entry == null) break; if (entry.getName().startsWith("images/")) { // Process the image entry } } }
或者,您可以可以使用Java 7的FileSystem和NIO的文件遍历机制来遍历JAR文件的内容。这简化了在 JAR 文件中搜索和过滤文件的过程。
以上是如何在 Java 中访问和检索 JAR 文件内的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!