Pfad des ausgeführten Programms (Jar-Datei) ermitteln: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
|||
Zeile 2: | Zeile 2: | ||
<code=java> | <code=java> | ||
− | private String getJarPath() { | + | //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> | </code=java> | ||
+ | |||
+ | Die Methoden dieses Beispiels können unabhängig von einander aufgerufen werden und geben dann unterschiedliche Pfad-Inhalte zurück.<br> | ||
+ | *<code>getCurrentPath()</code> gibt den Pfad (ohne den Namen der Jar-Datei) dieser Anwendung zurück | ||
+ | *<code>getPath()</code> gibt den absoluten Pfad (einschließlich Name der Jar-Datei) zurück | ||
[[Kategorie:Java]] | [[Kategorie:Java]] | ||
[[Kategorie:Java-Codeschnipsel]] | [[Kategorie:Java-Codeschnipsel]] |
Version vom 28. November 2017, 16:28 Uhr
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