Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    669

    Conoscere percorso dell'applicazione

    ciao a tutti!

    Ho creato un programma che richiama alcuni file esterni e che deve creare alcune cartelle all'interno della cartella del programma.
    mi spiego meglio la struttura del programma è questa:

    Cartella programma
    -- file jar dell'applicazione
    -- cartella lib
    -- cartella risorse

    per sapere il percorso della cartella da cui viene avviato il programma utlizzo il comando:

    System.getProperty("user.dir")

    In Windows tutto funziona correttamente ma sotto linux il comando mi restituisce sempre la cartella home dell'utente.
    Come posso fare per sapere il percorso?
    non posso usare i percorsi relativi (/nuova cartella) per dovendo creare nuove cartelle devo aver bisogno del percorso completo.

    aiuto!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Conoscere percorso dell'applicazione

    Originariamente inviato da kolore
    System.getProperty("user.dir")

    In Windows tutto funziona correttamente ma sotto linux il comando mi restituisce sempre la cartella home dell'utente.
    Non so come/da dove hai lanciato l'applicazione ma anche in Linux la property "user.dir" funziona allo stesso identico modo che in Windows.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Re: Re: Conoscere percorso dell'applicazione

    Originariamente inviato da andbin
    Non so come/da dove hai lanciato l'applicazione ma anche in Linux la property "user.dir" funziona allo stesso identico modo che in Windows.
    Non a caso "user.dir" significa per l'appunto, directory dell'utente (non certo dell'aplicazione).
    Per conoscere il percorso dell'applicazione mi viene in mente un modo solo, al momento:
    codice:
    String percorso = (new File(".")).getAbsolutePath();
    Non so come si comporta nel caso di un'applicazione che gira all'interno di un JAR, che se non dovrebero esserci ambiguità di sorta (dovrebbe comunque restituire il percorso dove risiede il JAR)... ma puoi sempre fare tu stesso le prove.


    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

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    669
    Non a caso "user.dir" significa per l'appunto, directory dell'utente (non certo dell'aplicazione).
    sul sito di java la guida dice :

    user.home User's home directory
    user.dir User's current working directory

    Non so come/da dove hai lanciato l'applicazione ma anche in Linux la property "user.dir" funziona allo stesso identico modo che in Windows.
    il jar l'ho lanciato con tasto destro => apri con Java

    E' forse per questo motivo che non funziona, in linux devo lanciarlo in un altro modo?

    Scusate ma sono novello sia in java che in linux, quindi potrebbe essere che sbaglio qualcosa.
    Cmq in linux se lancio l'applicazione direttamente da eclipse tutto funziona correttamente non funziona solamente con il file jar.

  5. #5
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da kolore
    sul sito di java la guida dice :

    user.home User's home directory
    user.dir User's current working directory



    il jar l'ho lanciato con tasto destro => apri con Java

    E' forse per questo motivo che non funziona, in linux devo lanciarlo in un altro modo?

    Scusate ma sono novello sia in java che in linux, quindi potrebbe essere che sbaglio qualcosa.
    Cmq in linux se lancio l'applicazione direttamente da eclipse tutto funziona correttamente non funziona solamente con il file jar.
    vai da terminale spostati nella cartella dell jar dai il comendo java -jar file.jar

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    669
    così funziona!

    quindi in linux non posso lanciare direttamente il file Jar oppure sbaglio qualcosa io?
    se volessi distribuirlo?

    grazie, ciao

  7. #7
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da kolore
    così funziona!

    quindi in linux non posso lanciare direttamente il file Jar oppure sbaglio qualcosa io?
    se volessi distribuirlo?

    grazie, ciao
    puoi distribuirlo tranquillamente cm far partire il programma dipende dall'utente...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.