Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Get current Path

  1. #1

    Get current Path

    Salve,

    per favore qualcuno di vuoi mi potrebbe spiegare come faccio ad ottenere il Path del mio eseguibile?
    In poche parole, sto creando un tool collegato ad un DB (il database è presente nella cartella "bin" del tool), ogni volta che lancio il tool dovrei dirgli in quale percorso si trova il database.

    Al momento ottengo il percoso del Tool nel seguente modo:
    String pathDB=System.getProperty("user.dir") + "\\bin\\DataBase.accdb"

    Da eclipse il programma funziona bene.

    Ma non appena lo salvo in una pendrive e lo lancio da un altro pc, il tool non funziona piu perchè perde il percoso dove si trova il Database.

    Grazie,
    Giuseppe

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Suppongo si tratti di Java... sposto nel forum di Java.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La property "user.dir" restituisce la directory "home" dell'utente... che nulla ha a che vedere (in linea di principio) con la directory del programma in esecuzione.

    Se la tua applicazione risiede dentro ad un Jar e vuoi ottenere il percorso di quel JAR, questo metodo può fare al caso tuo:

    codice:
        private static String getMyPath() {
            String str = NomeClasse.class.getResource("NomeClasse.class").toExternalForm();
    
            int start = 0;
            int end = str.indexOf("NomeDelJar.jar");
            if ( str.startsWith("jar:") ) {
                start = 4;
    
                if (str.indexOf("file:/") >= 0) {
                    start += 6;
                }
            }
    
            str = str.substring(start, end);
            str = str.replaceAll("%20", " ");
            
            return str;
        }
    Questo metodo restituisce il percorso fisico della directory che contiene il JAR che contiene la tua classe (ovviamente dovrai sostituire a "NomeClasse" il nome della classe e a "NomeDelJAR" il nome del file JAR.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.