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!