# WebApp (mit Tomcat) Wie kann meine Klasse eine Datei laden?



## Guest (11. Feb 2007)

Hi Leute,

wie kann meine Klasse eine Datei laden?
Bisher habe ich immer 
	
	
	
	





```
ClassLoader.getSystemClassloader().getResource("...properties");
```
 benutzt, aber das geht in einer Webanwendung scheinbar nicht.

Wie komm ich dann an meine Properties-Datei? Die Datei liegt in dem gleichen Verzeichnis wie meine JSPs (im Deploy-Verzeichnis).

Danke schonmal im Voraus! 

Gruß Nova


----------



## Caffè Latte (11. Feb 2007)

Hi,

die zu lesenden Dateien gehören in das WEB-INF Verzeichnis.


----------



## Guest (11. Feb 2007)

Hi,

okay, die Properties-Datei liegt jetzt direkt im WEB-INF-Verzeichnis. Und wie soll ich die jetzt laden?


Gruß Nova[/code]


----------



## Caffè Latte (11. Feb 2007)

Hi,

ich würde mir eine PropertiesLoader Klasse schreiben wie hier beschrieben: http://forum.java.sun.com/thread.jspa?threadID=658329&messageID=3867571

Hoffe es hilft ...


----------



## Guest (11. Feb 2007)

Ja das hab ich auch schon alles.
Es geht mir jetzt eher darum wie ich an das File-Objekt komme.
Mit new File(...properties) oder SystemClassLoader hat es ja bisher nicht funktioniert, obwohl die Datei jetzt auch im WEB-INF-Verzeichnis liegt.

Gruß Nova


----------



## Guest (11. Feb 2007)

Die Datei kann ich noch nichtmal über den Webbrowser aufrufen.

Die Verzeichnis-Struktur sieht nun so aus:

deployment
  - index.jsp
  - WEB-INF
    - classes\de\...
    - lib
    - test.properties

Die Index.jsp kann ich so aufrufen: "http://localhost:8080/test/index.jsp" ("test" ist der context).

Die test.properties kann ich weder per "http://localhost:8080/test.properties" und auch nicht per "http://localhost:8080/WEB-INF/test.properties" aufrufen.
Was ist denn da los?

Danke 

Gruß Nova


----------



## Guest (11. Feb 2007)

Och, tolle formatierung. ^^ Also "classes", "lib" und "test.properties" liegen in "WEB-INF" und "WEB-INF" und der Rest liegen direkt unter Deployment.

Gruß Nova


----------



## Caffè Latte (12. Feb 2007)

Nochmals hallo,

ein direktes auslesen der Datei über den Browser ist eigentlich nicht vorgesehen. Wenn du - wie in dem oben genannten Link - einen PropertiesLoader hast, musst du dort beim FileInputStream den Namen der Datei angeben:


```
FileInputStream in = new FileInputStream("myProperiesFile.properties");
```

Hoffe es hilft ....


----------

