使用 JAR 檔案時的一個常見任務是列出它們包含的檔案。這對於各種目的都很有用,例如提取特定文件或建立存檔內容的清單。
Java 提供了一組廣泛的類別來處理 ZIP 文件,包括 JAR 檔案。 ZipInputStream 類別可讓您迭代 JAR 檔案中的條目並存取其元資料。
要列出 JAR 中的文件,請按照以下步驟操作:
以下程式碼顯示了列出所有JAR 中的檔案:
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); if (src != null) { URL jar = src.getLocation(); ZipInputStream zip = new ZipInputStream(jar.openStream()); while (true) { ZipEntry e = zip.getNextEntry(); if (e == null) { break; } System.out.println(e.getName()); } } else { System.out.println("JAR not found"); }
中Java 7引入了一項新功能,可以簡化使用ZIP 檔案的過程。 FileSystem 類別可用於將 ZIP 檔案安裝為唯讀檔案系統。這允許您使用標準 Java I/O 庫來導航和列出 JAR 檔案的內容。
以下程式碼顯示了使用FileSystem 類別列出JAR 中的檔案的範例:
Path jarPath = Paths.get("/path/to/my.jar"); FileSystem fs = FileSystems.newFileSystem(jarPath, null); Path root = fs.getPath("/"); Files.walk(root) .filter(path -> path.toString().startsWith("path/to/your/dir/")) .forEach(System.out::println);
此程式碼使用Files 類,該類別提供了用於處理檔案和目錄的高階API ,可以遍歷JAR 檔案的根目錄並過濾掉任何與期望的標準。
以上是如何使用 Java 列出 JAR 檔案內的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!