Heim >Java >javaLernprogramm >Wie kann ich mit Java Dateien in einer JAR-Datei auflisten?
Eine häufige Aufgabe bei der Arbeit mit JAR-Archiven ist das Auflisten der darin enthaltenen Dateien. Dies kann für verschiedene Zwecke nützlich sein, beispielsweise zum Extrahieren bestimmter Dateien oder zum Erstellen einer Bestandsaufnahme des Archivinhalts.
Java bietet einen umfangreichen Satz von Klassen für den Umgang mit ZIP-Dateien. einschließlich JAR-Archiven. Mit der ZipInputStream-Klasse können Sie die Einträge in einer JAR-Datei durchlaufen und auf deren Metadaten zugreifen.
Um die Dateien in einer JAR aufzulisten, führen Sie die folgenden Schritte aus:
Der folgende Code zeigt ein Beispiel für die Auflistung aller Dateien innerhalb einer 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"); }
In Java 7, a Es wurde eine neue Funktion eingeführt, die die Arbeit mit ZIP-Dateien vereinfacht. Mit der FileSystem-Klasse kann eine ZIP-Datei als schreibgeschütztes Dateisystem bereitgestellt werden. Dadurch können Sie die Standard-Java-I/O-Bibliotheken zum Navigieren und Auflisten der Inhalte der JAR-Datei verwenden.
Der folgende Code zeigt ein Beispiel für die Verwendung der FileSystem-Klasse zum Auflisten der Dateien in einer 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);
Dieser Code verwendet die Files-Klasse, die eine High-Level-API für die Arbeit mit Dateien und Verzeichnissen bereitstellt, um das Stammverzeichnis der JAR-Datei zu durchsuchen und alle Dateien herauszufiltern, die nicht mit den gewünschten übereinstimmen Kriterium.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Java Dateien in einer JAR-Datei auflisten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!