Pfad des ausgeführten Programms (Jar-Datei) ermitteln: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
K
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().replaceAll("%20", " ");
+
         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