列出 JAR 文件中的文件
在 Java 中,listFiles() 方法可用于获取目录中的文件列表。但是,它不能直接应用于 JAR 文件来检索其内容。
要实现此目的,您可以利用 Java 的 CodeSource 类:
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); if (src != null) { URL jar = src.getLocation(); try (ZipInputStream zip = new ZipInputStream(jar.openStream())) { while (true) { ZipEntry e = zip.getNextEntry(); if (e == null) { break; } String name = e.getName(); if (name.startsWith("path/to/your/dir/")) { // Process the entries within the specified directory. } } } catch (IOException ex) { // Handle I/O exceptions. } } else { // Handle the case where no CodeSource is available. }
注意:
Java 7增强功能:
在 Java 7 及更高版本中,您可以使用 FileSystems.newFileSystem() 方法直接从 JAR 文件创建 FileSystem 对象。这允许您使用 NIO 的目录遍历和过滤机制访问 JAR 文件内容,从而更方便地处理 JAR 和“分解”目录。
以上是如何在 Java 中列出 JAR 文件内的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!