Startverzeichnis auslesen

Klein0r

Erfahrenes Mitglied
Hallo!

Folgendes Problem:
Ich habe eine Anwendung die mir Daten auf ein Usb-Gerät sendet. Nun sollen die Ergebnisse dieser Anfragen in eine Textdatei geschrieben werden. Das alles funktioniert ohne Probleme!
Nun möchte ich diese Datei aber nicht auf C:\ oder sonst wo erstellen, sondern immer da wo meine .jar ausgeführt wurde.

Ist das möglich? Kann ich irgendwie auslesen von wo mein Programm gestartet wurde (also nur den Pfad der .jar die ich angeklickt habe).

Google hilft mir irgendwie nicht und im Forum habe ich auch nichts über die Suche gefunden! Aber was will man auch suchen? "startverzeichis" - "startuppath"? ich habe ka

Hoffe es weiß wer rat!

mfg
 
Java:
System.out.println("Das aktuelle Arbeitsverzeichnis: "+java.lang.System.getProperty("user.dir"));
 
Hallo,

das ist recht einfach. Du musst gar nicht wissen wo deine Jar liegt. Du darfst halt für die Text-Datei keinen absoluten Pfad angeben, sondern nur einen relativen. Also grob gesagt, wenn du nur den Datei-Namen angibst ohne irgendeinen Pfad, dann wird die Text-Datei im gleichen Verzeichnis gespeichert wie deine Jar.

MFG

zEriX
 
Na super da hätte ich ja auch noch selbst drauf kommen können!
Vielen Dank für die extrem schnellen Antworten!

Das das auch irgendwie über die Properties gehen muss war mir fast klar - nur man kennt ja auch nicht alles auswendig...

Ich habs nun mit relativen Pfaden gelöst!

lg
 
Code:
String getAppPath()
	{
		String s = this.getClass().getResource( "." ).getPath();
		
		if(s.startsWith("/")){s=s.substring(1);}
		return s;
	}

Und schon hat man den Absoluten Pfad zur Class/Jar datei!
mfg Longor1996
 
Zurück