Wie den absoluten Pfad der aktuellen Klasse herausbekommen?

  • Themenstarter Themenstarter Jefferson
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
J

Jefferson

Gast
Hallo,

wie kann ich den Pfad herausbekommen der Klasse, die ich gerade gestartet habe? Mit System.getProperty("user.dir") klappt es leider nicht.

Oder anders formuliert:
- Ich habe in Eclipse das Projekt "eintest" erstellt. Die Dateien werden in c:\projekte\eintest gespeichert
- Im Projekt habe ich die Klasse Test.java/class im package de.jefferson.java, die sich auf der Festplatte in c:\projekte\eintest\de\jefferson\java befindet.

Rufe ich nun in der Klasse Test den Befehl
Code:
System.getProperty("user.dir")
auf, kommt als ergebnis das Projektverzeichnis c:\projekte\eintest. Wie bekomme ich aber den tatsächlichen Ort heraus indem sich die Klasse befindet, also c:\projekte\eintest\de\jefferson\java ???

Bin über jeden Tipp dankbar!

Viele Grüße
Jefferson
 
getClass().getResource(getClass().getSimpleName() + ".class");
liefert dir ne URL zu der aktuellen kalsse
 
Hmm, und wie genau geht das nun? Auf welches Objekt oder so wende ich das an?

getClass().getResource(getClass().getSimpleName() + ".class");


Grüße
 
Nachtrag:
Wenn ich die Zeile so wie von dir angegeben in meinen Programmcode haue, unterstreicht Eclipse mir das getSimpleName() und sagt "The Method getSimpleName() is undefined for the type Class"

Ich benutze Java 1.4
 
die methode gibts erst ab 1.5. ersetz das halt manuell durch deinen klassennamen und schneide dir deinen klassennamen aus getName()
heraus.

Hmm, und wie genau geht das nun? Auf welches Objekt oder so wende ich das an?
auf das, von dessen kalsse du den pfad haben willst !?
 
Mit Java 1.4 geht's so:

Code:
String clazz = getClass().getName();
String filename = clazz.substring(clazz.lastIndexOf(".")+1) + ".class";
URL url = this.getClass().getResource(filename);

Aufruf erfolgt in der Klasse, dessen Pfad Du haben willst (wie Roar schon sagte)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben