Heim > Java > javaLernprogramm > Wie kann ich auf Ressourcenpfade in einer Java-JAR-Datei zugreifen?

Wie kann ich auf Ressourcenpfade in einer Java-JAR-Datei zugreifen?

Barbara Streisand
Freigeben: 2024-12-18 00:07:11
Original
236 Leute haben es durchsucht

How Can I Access Resource Paths Inside a Java JAR File?

Abrufen von Ressourcenpfaden in Java-JAR-Dateien

In Java kann der Zugriff auf in JAR-Dateien verpackte Ressourcen eine Herausforderung darstellen. Während das Streamen von Ressourceninhalten unkompliziert ist, kann es schwierig sein, einen zugänglichen Dateipfad zu erhalten.

Ein Ansatz versucht, ein Dateiobjekt mithilfe der getResource-Methode zu erstellen:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("config/netclient.p").getFile());
Nach dem Login kopieren

Dies schlägt jedoch häufig fehl eine FileNotFoundException, da die Ressource möglicherweise keine entsprechende Datei im Dateisystem hat.

Grundlegendes zur Ressource Konzept

JAR-Dateien bündeln Ressourcen in einem Archiv, auf die möglicherweise nicht direkt als physische Dateien zugegriffen werden kann. Der Klassenlader übernimmt das Laden von Ressourcen und kann den Zugriff über Streams ermöglichen.

Alternative: Ressourceninhalte streamen

Um auf Ressourceninhalte ohne Dateipfad zuzugreifen, verwenden Sie:

ClassLoader classLoader = getClass().getClassLoader();
PrintInputStream(classLoader.getResourceAsStream("config/netclient.p"));
Nach dem Login kopieren

Option für temporäre Dateien

Wenn ein Dateiobjekt unverzichtbar ist, sollten Sie darüber nachdenken Kopieren des Streams in eine temporäre Datei:

InputStream resourceStream = classLoader.getResourceAsStream("config/netclient.p");
File tempFile = File.createTempFile("resource", ".tmp");

try (OutputStream outputStream = new FileOutputStream(tempFile)) {
    resourceStream.transferTo(outputStream);
}
Nach dem Login kopieren

Nach dem Kopieren können Sie die temporäre Datei nach Bedarf bearbeiten.

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