Heim > Java > javaLernprogramm > Wie kann ich Dateien in einer JAR-Datei in Java auflisten?

Wie kann ich Dateien in einer JAR-Datei in Java auflisten?

Linda Hamilton
Freigeben: 2024-12-24 13:50:10
Original
983 Leute haben es durchsucht

How Can I List Files Inside a JAR File in Java?

Auflisten von Dateien in einer JAR-Datei

In Java kann die listFiles()-Methode verwendet werden, um eine Liste von Dateien in einem Verzeichnis abzurufen . Es kann jedoch nicht direkt auf eine JAR-Datei angewendet werden, um deren Inhalt abzurufen.

Um dies zu erreichen, können Sie die CodeSource-Klasse von Java verwenden:

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.
}
Nach dem Login kopieren

Hinweis:

  • Der ZipInputStream liest die JAR-Datei als ZIP-Archiv.
  • Der Die Klasse „ZipEntry“ stellt einzelne Einträge (Dateien) innerhalb der JAR-Datei dar.
  • Die Methode getNextEntry() ruft den nächsten Eintrag in der JAR-Datei ab, sodass Sie dessen Inhalt durchlaufen können.

Java 7-Verbesserungen:

In Java 7 und höher können Sie ein FileSystem-Objekt direkt erstellen aus der JAR-Datei mithilfe der Methode FileSystems.newFileSystem(). Dies ermöglicht Ihnen den Zugriff auf JAR-Dateiinhalte mithilfe der Verzeichnisdurchlauf- und Filtermechanismen von NIO, was den Umgang mit JARs und „explodierten“ Verzeichnissen komfortabler macht.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateien in einer JAR-Datei in Java auflisten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage