Heim >Java >javaLernprogramm >Warum gibt getResourceAsStream in Java Null zurück und wie kann ich das beheben?

Warum gibt getResourceAsStream in Java Null zurück und wie kann ich das beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-12-21 14:54:11215Durchsuche

Why Does getResourceAsStream Return Null in Java, and How Can I Fix It?

Fehlerbehebung „getResourceAsStream gibt Null zurück“-Problem in Java

Beim Versuch, eine Datei in ein JAR mit getResourceAsStream zu laden, kann es zu einem Problem kommen Null-Rückgabe. Um dieses Problem zu lösen, ist es wichtig zu verstehen, wie Ressourcen geladen werden und welches Pfadformat das richtige ist.

Der Standardlademechanismus in getResourceAsStream verwendet den Systemklassenlader. Allerdings hat dieser Ansatz möglicherweise keinen Zugriff auf Ressourcen in Ihrem JAR. Verwenden Sie stattdessen Lifepaths.class.getResourceAsStream(...), das den Klassenlader verwendet, der die Lifepaths-Klasse geladen hat. Dieser Loader hat Zugriff auf die JAR-Ressourcen.

Stellen Sie außerdem sicher, dass der Ressourcenpfad mit „/“ beginnt. Obwohl dies möglicherweise nicht unbedingt erforderlich ist, kann es zu Problemen führen, wenn es weggelassen wird.

Um die Datei Lifepaths.txt ordnungsgemäß aus der angegebenen Verzeichnisstruktur zu laden, verwenden Sie daher die folgende Syntax:

Lifepaths.class.getResourceAsStream("/initialization/Lifepaths.txt")

Das obige ist der detaillierte Inhalt vonWarum gibt getResourceAsStream in Java Null zurück und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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