Heim > Java > javaLernprogramm > Warum gibt „getResourceAsStream' beim Zugriff auf Ressourcen in einer JAR Null zurück und wie kann ich das Problem beheben?

Warum gibt „getResourceAsStream' beim Zugriff auf Ressourcen in einer JAR Null zurück und wie kann ich das Problem beheben?

Mary-Kate Olsen
Freigeben: 2024-12-21 22:24:28
Original
711 Leute haben es durchsucht

Why Does `getResourceAsStream` Return Null When Accessing Resources in a JAR, and How Can I Fix It?

Auflösen der Null-Ausgabe von getResourceAsStream

Wenn der Versuch, eine Textdatei aus einem gepackten JAR mithilfe von Class::getResourceAsStream abzurufen, null zurückgibt, zeigt dies an Probleme mit dem Ressourcenlademechanismus. Die folgende Lösung behebt dieses Problem:

  1. Geändertes Laden von Ressourcen: Anstelle von Lifepaths.class.getClass().getResourceAsStream(...), das den Systemklassenlader aufruft (bei dem es häufig an Einblick in gepackte Ressourcen mangelt), verwenden Sie Lifepaths.class.getResourceAsStream(...) direkt. Dadurch wird sichergestellt, dass Ressourcen vom Klassenlader geladen werden, der Lifepaths geladen hat, sodass dieser auf die gepackten Ressourcen zugreifen kann.
  2. Führender Schrägstrich: Bei der Angabe des Ressourcenpfads in getResourceAsStream(name) ist dies der Fall Es ist unbedingt erforderlich, ihm einen Schrägstrich (/) voranzustellen. Dies ist nicht immer notwendig, wurde aber beobachtet, um potenzielle Probleme zu beheben.

Durch die Implementierung dieser Änderungen sollte der bereitgestellte Code den Inhalt der Textdatei erfolgreich aus dem JAR-Paket laden und drucken.

Das obige ist der detaillierte Inhalt vonWarum gibt „getResourceAsStream' beim Zugriff auf Ressourcen in einer JAR Null zurück und wie kann ich das Problem beheben?. 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