Lesen einer Ressource mit BufferedReader

8

Ich versuche, eine Ressource zu lesen, die in einer .JAR enthalten sein wird, aber ich bekomme einen NullPointer für Folgendes:

%Vor%

Die Verwendung einer Datei funktioniert jedoch einwandfrei.

%Vor%     
Skogen 03.03.2013, 17:18
quelle

5 Antworten

14

Angenommen, Ihr IDE- oder Maven- oder Build-Prozess enthält den Inhalt von "resources" in jar at root, versuchen Sie es unter "/".

zu finden %Vor%

UPDATE:

Stellen Sie sicher, dass der Ordner "resources" als Quellordner konfiguriert ist.

    
sgp15 03.03.2013 17:21
quelle
0

Ist das ein Frühlingsrahmenprojekt? Probieren Sie:

%Vor%

Die zu ladende Ressource befindet sich im Verzeichnis src / main / resources:

    
ranma2913 24.02.2017 18:41
quelle
0

Legen Sie den Ordner "Ressourcen" als Ressourcenordner fest. Probieren Sie diesen Code:

%Vor%     
brandy 13.03.2017 03:48
quelle
0

Im Gegensatz zu getClassLoader().getResourceAsStream(filename) verwendet die Version, die Sie getClass().getResourceAsStream(filename) verwenden, einen Pfad relativ zum Speicherort der Klasse und nicht zum Stamm des Klassenpfads. Sie müssen entweder den absoluten Pfad getClass().getResourceAsStream("/" + filename) verwenden oder die ClassLoader Version verwenden.

Stellen Sie außerdem sicher, dass sich "Ressourcen" auf Ihrem Klassenpfad befinden (wenn Sie Maven verwenden, sollte es "src / main / resources" relativ zu Ihrer pom.xml sein). Wenn dies der Fall ist, müssen Sie "Ressourcen" nicht in Ihren Dateinamen einschließen, da dies der Classpath-Stamm ist.

    
Kidburla 17.12.2017 12:51
quelle
-1

this.getClass().getResourceAsStream("resources/" + fileName) lädt die Datei aus dem Klassenpfad, da new File("resources/" + fileName) die Datei von Ihrem Arbeitsverzeichnis lädt (das Projektstammverzeichnis in Eclipse). Um das erstere zum Laufen zu bringen, müssen Sie das jar, das resources dir enthält, zu Ihrem Klassenpfad hinzufügen.

    
ericson 04.03.2013 04:57
quelle

Tags und Links