# Zugriff auf Properties-Datei



## sp_1 (12. Aug 2004)

Hallo zusammen,

ich versuche auf mein Propertie file, das sich auch in meinem Package befindet, zuzugreifen. Es funktioniert aber nicht. Bei Angabe des vollständigen Pfades ist der Zugriff erst möglich, was aber nicht so toll ist, da sich der Pfad im Nachhinein ändern kann.

Code:

```
Properties prop = new Properties();
        try {
            
            FileInputStream in = new FileInputStream("Testprop.properties");
            prop.load(in);
        }
        catch (IOException ioe) {
            System.out.println(ioe);
        }
        
        System.out.println(prop.getProperty("AB"));
```

Ich dachte immer, wenn das Properties File im gleichen Package wie die Klasse ist, nicht nötig wär den Pfad anzugen.

Bin für jede Hilfe dankbar

Gruß
sp_1


----------



## bygones (12. Aug 2004)

nicht wenn es sich im gleichen package wie die Klasse befinden !
es muss im root verzeichnis des projekts liegen !![/code]


----------



## sp_1 (12. Aug 2004)

das mit dem root Verzeichnis ist nicht so gut, da wir die Properie files an einer bestimmten Stelle im Baum haben möchten.
welche alternativen hab ich noch


----------



## Roar (12. Aug 2004)

err.. dann musst du auch noch die verzeichnisse von der root aus angeben.


----------



## sp_1 (12. Aug 2004)

das verstehe ich jetzt nicht. kannst du es mir an einem beispiel verdeutlichen?

meinst du so?


```
Properties properties = new Properties();
        Properties prop = new Properties();
        try {
           
            
            FileInputStream in = new FileInputStream("de/firma/services/name/common/errorcodes/Test2Prop");
            prop.load(in);
        }
        catch (IOException ioe) {
            System.out.println(ioe);
        }
        
        System.out.println(prop.getProperty("A"));
```


----------



## sp_1 (12. Aug 2004)

ja moment, aber der Pfad änert sich sobald ich den Code von meiner localen Maschiene verschiebe


----------



## bygones (12. Aug 2004)

du wirst nicht drumrum kommen die datei in einen ordner zu stecken und den pfad mitzugeben... 

wenn root nicht geht - warum erstellst du nicht einen ordner in dem die bzw. alle properties files drin sind und der muss dann für alle zugreifbar sein


----------



## sp_1 (12. Aug 2004)

genau das möchte ich auch. Aber wie teile ich es mit wo die stehen?
Dove Frage, aber  im Bezug auf das Verschieben von Quellcode irgendwie berechtigt!


----------



## akira (12. Aug 2004)

Hi,

wenn die properties-Datei im gleichen Ordner/Package wie Deine Klasse liegt, kannst Du follgendes schreiben:


```
Properties p = new Properties();
p.load(getClass().getRessourceAsStream("TestProp.properties"));
```


----------



## sp_1 (12. Aug 2004)

und wenn die properties datei nicht im gleichen package/ordner liegt, wie dann?


----------



## akira (12. Aug 2004)

Wenn die Properties-Datei in einem anderen Package liegt, gibst Du die Ressource so an:


```
p.load(getClass().getRessourceAsStream("/com/xyz/TestProp.properties"));
```

wenn das Package com.xyz heißt, wichtig ist dabei der erste Slash. 
Wenn die Datei jedoch nicht irgendwo im Classpath liegt, funktioniert meine Lösung nicht.


----------

