Heim > Java > javaLernprogramm > Wie greife ich auf Ressourcen in einer Java-JAR-Datei zu?

Wie greife ich auf Ressourcen in einer Java-JAR-Datei zu?

Mary-Kate Olsen
Freigeben: 2024-12-20 13:45:10
Original
877 Leute haben es durchsucht

How Do I Access Resources Within a Java JAR File?

Zugriff auf Ressourcenpfade in Java-JAR-Dateien

Beim Arbeiten mit Ressourcen, die in einer Java-JAR-Datei gespeichert sind, kann es sein, einen Pfad zur Ressource zu erhalten herausfordernd. Im Gegensatz zu regulären Dateien, die im Dateisystem gespeichert sind, verfügen Ressourcen in einem JAR nicht unbedingt über eine direkt entsprechende Datei.

Der bereitgestellte Codeausschnitt veranschaulicht dieses Problem:

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

Dieser Code führt zu a FileNotFoundException, da auf die Ressource nicht als physische Datei im Dateisystem zugegriffen werden kann. Die JAR-Datei wurde möglicherweise nicht in einzelne Dateien erweitert und der Klassenlader selbst stellt möglicherweise kein Dateihandle für die Ressource bereit.

Alternative Lösung

Um den Inhalt zu erhalten einer Ressource innerhalb einer JAR-Datei ist ein alternativer Ansatz die Verwendung von classLoader.getResourceAsStream():

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

Dieser Code liest und druckt den Inhalt der Ressource direkt aus, ohne dass Zugriff auf einen Dateipfad erforderlich ist. Wenn es unbedingt erforderlich ist, auf die Ressource als Datei zuzugreifen, können Sie den Stream in eine temporäre Datei kopieren:

File tempFile = File.createTempFile("temp", null);
try (
    InputStream inputStream = classLoader.getResourceAsStream("config/netclient.p");
    OutputStream outputStream = new FileOutputStream(tempFile);
) {
    IOUtils.copy(inputStream, outputStream);
}
Nach dem Login kopieren

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