# Verzeichnis der Klasse



## The_S (14. Jul 2006)

Tach,

ich habe mehrere Klassen in einem JAR-File, wie bekomme ich jetzt zuverlässig (also nicht System.getProerty("user.dir)) raus in welchem Verzeichnis auf der Festpallte das JAR-File liegt?

Dankö


----------



## foobar (14. Jul 2006)

Was hast du gegen die Variante mit der Systemproperty?

Alternativ kannst du auch das hier verwenden:

```
String dir = new File("").getAbsolutePath();
```


----------



## The_S (14. Jul 2006)

Naja, so bekomm ich halt das Verzeichnis, von dem aus die Klasse ausgeführt wurde. Man kann die Klasse ja auch so z. B. ausführen


```
C:>java -jar myprogs\aprog\Prog.jar
```

und dann würde die File Methode und die Properties wohl "C:\" zurückliefern!?


----------



## Natorion (14. Jul 2006)

schau dir mal das an: http://www.javaworld.com/javaworld/javaqa/2003-07/01-qa-0711-classsrc.html?

ich glaub sowas brauchst oder


----------



## The_S (14. Jul 2006)

joa, sowas könnte es sein. Wobei ich gerade ein bisschen über die Komplexität erstaunt bin. Dachte das müsste doch eigentlich mit nem 1 bzw. 2 Zeiler gehen. Mal gucken ob ich das so anwende oder noch nach ner alternative gucke.

Aber schonmal danke.


----------



## Natorion (14. Jul 2006)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> joa, sowas könnte es sein. Wobei ich gerade ein bisschen über die Komplexität erstaunt bin. Dachte das müsste doch eigentlich mit nem 1 bzw. 2 Zeiler gehen. Mal gucken ob ich das so anwende oder noch nach ner alternative gucke.
> 
> Aber schonmal danke.



he, das ist java, da ist nix mit ein oder zweizeiler bei so trivialen dingen (wann geben die endlich mal freediskspace nen befehl *G*). aber kein problem, war dritter oder vierter eintrag in google


----------



## foobar (14. Jul 2006)

> wann geben die endlich mal freediskspace nen befehl


Ab Java 1.6, kann man den freien Plattenplatz ermitteln.


----------



## Beni (14. Jul 2006)

Natorion hat gesagt.:
			
		

> he, das ist java, da ist nix mit ein oder zweizeiler bei so trivialen dingen.


Da class-"Dateien" sogar vom laufendem Programm erzeugt werden können (direkt als byte-array), und dann durch einen eigenen ClassLoader geladen werden können (ohne jemals eine Festplatte gesehen zu haben), ist das wohl alles andere als trivial :shock:


----------

