# Frage zu ResourceBundle



## wSam (24. November 2005)

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 
	
	
	



```
C:\test
```
  angegeben und den filename auf 
	
	
	



```
test
```
 gesetzt. Somit geht es. Aber warum kann ich es nicht über den ganzen Pfad aufrufen? Sollte doch auch gehen, oder?


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

bundle = ResourceBundle.getBundle(propertyFilename);
```

Vielen Dank im Voraus für die Hilfe und Gruss


----------



## Thomas Darimont (25. November 2005)

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:

```
bar=www.tutorials.de
```
 

```
/**
  * 
  */
 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


----------



## wSam (25. November 2005)

Hallo

Vielen Dank für die Erklärung.

Danke und Gruss


----------



## mistermaek (17. Oktober 2007)

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


----------

