Frage zu ResourceBundle

wSam

Erfahrenes Mitglied
Hallo zusammen

Ich möchte eine externe properties-Datei mit dem ResourceBundle einlesen.

Bei der Datei test handelt es sich um eine Properties Datei (also test.properties). Die Datei wird jedoch nicht gefunden. Weiss nicht wieso?

Ich habe unter eclipse als Working Directory den Ordner
Code:
C:\test
angegeben und den filename auf
Code:
test
gesetzt. Somit geht es. Aber warum kann ich es nicht über den ganzen Pfad aufrufen? Sollte doch auch gehen, oder?

Code:
propertyFilename = "C:\\test\\test";

bundle = ResourceBundle.getBundle(propertyFilename);

Vielen Dank im Voraus für die Hilfe und Gruss
 
Hallo!

Bei ResourceBundle.getBundle(...) gibt man den "Pfad" zur properties Datei an die sich im Classpath befindet.

Beispiel:


Die Datei foo.properties liegt im Verzeichnis de/tutorials
und hat folgenden Inhalt:
Code:
  bar=www.tutorials.de

Code:
 /**
  * 
  */
 package de.tutorials;
 
 import java.util.ResourceBundle;
 
 /**
  * @author Tom
  *
  */
 public class ResourceBundleExample {
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		ResourceBundle bundle = ResourceBundle.getBundle("de.tutorials.foo");
 		System.out.println(bundle.getString("bar"));
 	}
 }

Gruss Tom
 
Hallo,
gibt es eigentlich auch eine Möglichkeit auf *.properties files außerhalb des classpaths zuzugreifen?
Ich will auf mein ResourceBundle von mehreren Projekten aus zugreifen können. Die nicht alle im gleichen Classpath liegen. Habe mein *.properties file im workspace liegen und würde nun gerne darauf zugreifen.
Geht das überhaupt?
Gruss Markus

### Habs selbst herausgefunden, für alle die es auch wissen möchten:

Ich habe nicht die Klasse ResourceBundle benutzt, sondern die Klasse PropertyResourceBundle, bei der man einen InputStream angeben kann. Sieht dann z.b. so aus:

PropertyResourceBundle prb = new PropertyResourceBundle(new FileInputStream(CFG_FILE));

wobei CFG_FILE dann halt den Pfad zur Datei enthält (relativ od. absolut).

Bis dann.
Gruss Markus
 
Zuletzt bearbeitet:
Zurück