Wie verwende ich den Java ClassLoader, um eine Datei aus dem Klassenpfad zu laden?

8

Ich möchte den ClassLoader verwenden, um eine Eigenschaftendatei für die Properties-Klasse zu laden. Ich habe den folgenden Code vereinfacht, um die Fehlerbehandlung für die Zwecke dieser Diskussion zu entfernen:

%Vor%

Im selben Verzeichnis wie diese Klasse habe ich die Datei "theta.properties", aber der InputStream ist immer Null. Lege ich die Datei an die falsche Stelle? Ich benutze Eclipse und sein Set, um die Klassendateien im Quellordner zu erstellen - das sollte also nicht das Problem sein.

Ich kann im JavaDoc nichts finden, um den ClassLoader dazu zu bringen, mir zu sagen, welcher Klassenpfad gesucht wird.

    
Kyle Boon 07.07.2009, 20:49
quelle

3 Antworten

10

Wenn Sie getClass().getClassloader() verwenden, suchen Sie nach "theta.properties" im Stammpfadverzeichnis. Verwenden Sie einfach getClass().getResourceAsStream() , um eine Ressource relativ zu dieser Klasse zu erhalten.

    
Kathy Van Stone 07.07.2009, 20:56
quelle
6

Wenn sich die Datei im selben Verzeichnis wie die Klasse befindet, müssen Sie das Paket der Klasse als Verzeichnis voranstellen.

Also wenn dein Paket ist:

%Vor%

Dann lautet Ihr Code:

%Vor%     
Yishai 07.07.2009 20:52
quelle
-1

Sie können ResourceBundle

verwenden     
delPiero 16.09.2009 15:17
quelle

Tags und Links