Heim > Java > javaLernprogramm > Wie kann ich in Java auf Dateien in einer JAR-Datei zugreifen und diese abrufen?

Wie kann ich in Java auf Dateien in einer JAR-Datei zugreifen und diese abrufen?

Mary-Kate Olsen
Freigeben: 2024-12-25 19:33:20
Original
406 Leute haben es durchsucht

How Can I Access and Retrieve Files Inside a JAR File in Java?

Navigieren und Abrufen von Dateien innerhalb einer JAR-Datei

Bei der Arbeit mit JAR-Dateien ist es für verschiedene Zwecke erforderlich, auf die internen Dateien zuzugreifen. Diese Frage stellt sich, wenn Sie Dateien in einer JAR-Datei aufzählen müssen, insbesondere um Bilder zu laden und dynamisch darauf zuzugreifen.

Die Lösung besteht in der Verwendung einer Kombination von Methoden. Bestimmen Sie zunächst die JAR-Datei, in der sich Ihre Hauptklasse befindet. Sie können diese Informationen mit java.util.Zip abrufen.

Sobald Sie den Namen der JAR-Datei kennen, erstellen Sie ein CodeSource-Objekt und rufen Sie die URL der JAR-Datei ab. Als nächstes verwenden Sie ZipInputStream, um auf den Inhalt der JAR-Datei zuzugreifen. Rufen Sie kontinuierlich ZipEntry-Objekte aus dem Stream ab und überprüfen Sie den Namen jedes Eintrags. Wenn der Name mit dem gewünschten Verzeichnispfad übereinstimmt, können Sie alle erforderlichen Vorgänge für diesen Eintrag ausführen.

Hier ist ein Beispielcode-Snippet zum Auflisten von Bildern in der JAR-Datei:

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

Alternativ Sie kann das FileSystem von Java 7 und die File-Walking-Mechanismen von NIO verwenden, um den Inhalt der JAR-Datei zu durchsuchen. Dies vereinfacht das Suchen und Filtern nach Dateien innerhalb der JAR-Datei.

Das obige ist der detaillierte Inhalt vonWie kann ich in Java auf Dateien in einer JAR-Datei zugreifen und diese abrufen?. 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