Pfad des ausgeführten Programms (Jar-Datei) ermitteln: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
K |
||
Zeile 3: | Zeile 3: | ||
Folgender Code ermittelt den [[Pfad]] und ggf. den Namen der aktuell laufenden Anwendung (ausführbare [[JAR-Datei|Jar-Datei]]) bzw. den Pfad der Bytecode-Datei: | Folgender Code ermittelt den [[Pfad]] und ggf. den Namen der aktuell laufenden Anwendung (ausführbare [[JAR-Datei|Jar-Datei]]) bzw. den Pfad der Bytecode-Datei: | ||
− | < | + | <syntaxhighlight lang="java"> |
//gibt den Pfad dieser Jar-Datei zurück | //gibt den Pfad dieser Jar-Datei zurück | ||
private String getCurrentJarPath() { | private String getCurrentJarPath() { | ||
Zeile 21: | Zeile 21: | ||
return null; | return null; | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
*<code>getCurrentPath()</code> gibt den Pfad (ohne den Namen der Jar-Datei) dieser Anwendung zurück (benötigt dazu die getJarPath()-Methode) | *<code>getCurrentPath()</code> gibt den Pfad (ohne den Namen der Jar-Datei) dieser Anwendung zurück (benötigt dazu die getJarPath()-Methode) |
Version vom 9. März 2018, 15:03 Uhr
Manchmal steht man vor der Frage, wie man das Verzeichnis der aktuell gestarteten Java-Anwendung ermittelt. Also wo befindet sich die ausgeführte Datei (.jar oder .class) im Datei-System und (von) wo wurde sie gestartet?
Folgender Code ermittelt den Pfad und ggf. den Namen der aktuell laufenden Anwendung (ausführbare Jar-Datei) bzw. den Pfad der Bytecode-Datei:
//gibt den Pfad dieser Jar-Datei zurück
private String getCurrentJarPath() {
String path = getJarPath();
if(path.endsWith(".jar")) {
return path.substring(0, path.lastIndexOf("/"));
}
return path;
}
//gibt den absoluten Pfad inklusive Dateiname 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;
}
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