Pfad des ausgeführten Programms (Jar-Datei) ermitteln: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
| Zeile 4: | Zeile 4: | ||
//gibt den Pfad dieser Anwendung zurück | //gibt den Pfad dieser Anwendung zurück | ||
private String getCurrentJarPath() { | private String getCurrentJarPath() { | ||
String path = getJarPath( | String path = getJarPath(); | ||
if(path.endsWith(".jar")) { | if(path.endsWith(".jar")) { | ||
return path.substring(0, path.lastIndexOf("/")); | return path.substring(0, path.lastIndexOf("/")); | ||
| Zeile 15: | Zeile 15: | ||
final CodeSource source = this.getClass().getProtectionDomain().getCodeSource(); | final CodeSource source = this.getClass().getProtectionDomain().getCodeSource(); | ||
if (source != null) { | if (source != null) { | ||
return source.getLocation().getPath(); | return source.getLocation().getPath().replaceAll("%20", " "); | ||
} | } | ||
return null; | return null; | ||
Version vom 28. November 2017, 20:39 Uhr
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 getPath()-Methode)getPath()gibt den absoluten Pfad (einschließlich Name der Jar-Datei) zurück
