Pfad des ausgeführten Programms (Jar-Datei) ermitteln
Aus Byte-Welt Wiki
Version vom 11. Dezember 2017, 14:12 Uhr von L-ectron-x (Diskussion | Beiträge)
Manchmal steht man vor der Frage, wie man das Verzeichnis der aktuell gestarteten Java-Anwendung ermittelt. Also wo befindet sich die ausgeführte Jar-Datei im Datei-System und (von) wo wurde sie gestartet?
Folgender Code ermittelt den Pfad der aktuell laufenden Anwendung (ausführbare Jar-Datei):
<code=java>
//gibt den Pfad 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 dieser Anwendung zurück private String getJarPath() { final CodeSource source = this.getClass().getProtectionDomain().getCodeSource(); if (source != null) { return source.getLocation().getPath().replaceAll("%20", " "); } return null; }
</code=java>
getCurrentPath()
gibt den Pfad (ohne den Namen der Jar-Datei) dieser Anwendung zurück (benötigt dazu die getJarPath()-Methode)getJarPath()
gibt den absoluten Pfad (einschließlich Name der Jar-Datei) zurück