Absolute Pfad für ClassLoader verwenden getResourceAsStream ()

8

Ich versuche, ClassLoader getResourceAsStream ()

zu verwenden

Meine Direcory-Struktur ist wie folgt:

%Vor%

Für classloader.getResourceAsStream("MYLOC/someprops.properties") funktioniert gut.

Aber jetzt muss ich die Eigenschaftendatei außerhalb von .war verschieben, wie in C:\someprops.properties

Aber classloader.getResourceAsStream("C:\someprops.properties") funktioniert nicht. Kann es keinen absoluten Pfad verwenden?

    
user3018487 21.11.2013, 16:48
quelle

2 Antworten

14

Wenn Sie einen nativen Dateipfad haben, müssen Sie nicht getResourceAsStream verwenden, sondern einfach einen FileInputStream auf die übliche Weise erstellen.

%Vor%

(Sie können die FileInputStream in einem BufferedInputStream umbrechen, wenn die Datei groß ist)

    
Ian Roberts 21.11.2013, 17:21
quelle
1

Die Methode classloader.getResourceAsStream sucht nach Ressourcen im Klassenpfad. Wenn Sie Ihre someprops.properties -Datei mit classloader.getResourceAsStream laden möchten, fügen Sie sie Ihrem Klassenpfad hinzu. Andernfalls, wenn dies eine Eigenschaftendatei ist, können Sie immer die Properties.load Methode.

    
benjamin.d 21.11.2013 16:54
quelle