Pfad des ausgeführten Programms (Jar-Datei) ermitteln
Aus Byte-Welt Wiki
Folgender Code ermittelt den Pfad der aktuell laufenden Anwendung (ausführbare Jar-Datei):
<code=java>
//gibt den Pfad ohne der Jar-Datei dieser Anwendung zurück
private String getCurrentJarPath() {
String path = getJarPath();
if(path.endsWith(".jar")) {
return path.substring(0, path.lastIndexOf("/"));
}
return path;
}
//gibt den absoluten Pfad (einschließlich Name der Jar-Datei) zurück
private String getJarPath() {
final CodeSource source = this.getClass().getProtectionDomain().getCodeSource();
if (source != null) {
return source.getLocation().getPath();
}
return null;
}
</code=java>
Die Methoden dieses Beispiels können unabhängig von einander aufgerufen werden und geben dann unterschiedliche Pfad-Inhalte zurück.
getCurrentPath()gibt den Pfad (ohne den Namen der Jar-Datei) dieser Anwendung zurückgetPath()gibt den absoluten Pfad (einschließlich Name der Jar-Datei) zurück
