View Full Version : [Java] File e Portabilità
Ciao, ho alcuni dubbi.
Sto programmando un applicativo (sono su Win) che deve leggere dal FileSystem un file di proprietà. Vorrei sapere qual è la strategia migliore per trattare il file in modo che l'applicazione sia indipendente dal SO?
Dove colloco il file? Come lo apro? Mi trovo il path assoluto tramite:
File.getAbsolutePath() ?
Qualcuno riesce a chiarirmi le idee? Gliene sarei grato.
:mano:
Oceans11
15-08-2008, 07:47
ciao!
Java mette a disposizione la classe Properties per gestire i file di configurazione. Praticamente vengono creati 2 file di configurazione, quello di "default" e quello delle ultime properties salvate al momento dell'ultimo utilizzo del programma. I file sono come i famosi .ini ossia coppie chiave/valore.
In ogni modo la classe è java.util.Properties, e nel tutorial della sun trovi anche una pagina che te ne esemplifica l'uso....il trail è:
Home Page > Essential Classes > The Platform Environment
Per il path: potresti mettere un file, diciamo il secondo nella cartella dove tieni il tuo programma...quindi per leggerlo/scriverlo hai bisogno solo del nome del file; il file di default invece lo potresti anche mettere nella cartella del profilo utenti.
Spero di esserti stato d'aiuto.
ciao!
Java mette a disposizione la classe Properties per gestire i file di configurazione. Praticamente vengono creati 2 file di configurazione, quello di "default" e quello delle ultime properties salvate al momento dell'ultimo utilizzo del programma. I file sono come i famosi .ini ossia coppie chiave/valore.
In ogni modo la classe è java.util.Properties, e nel tutorial della sun trovi anche una pagina che te ne esemplifica l'uso....il trail è:
Home Page > Essential Classes > The Platform Environment
Per il path: potresti mettere un file, diciamo il secondo nella cartella dove tieni il tuo programma...quindi per leggerlo/scriverlo hai bisogno solo del nome del file; il file di default invece lo potresti anche mettere nella cartella del profilo utenti.
Spero di esserti stato d'aiuto.
Ti ringrazio per i consigli, ora approfondisco questa java.util.Properties :)
Un dubbio che mi rimane è il comportamento dell'apertura dei File quando il programma è incapsulato in un jar.
Il costruttore:
File nome=new File("path");
funziona anche da dentro il jar e il file da aprire è fuori? in tal caso va usato a forza il path assoluto? Incorporare il file di config dentro al jar ha senso? mi spiego meglio: non dovrebbe essere facilmente accessibile dall'utente e quindi fuori dal jar?
In pratica sulle diapositive del corso trovo il seguente avviso:
http://img296.imageshack.us/img296/2694/pathpp2.th.jpg (http://img296.imageshack.us/my.php?image=pathpp2.jpg)
e vorrei capire bene perché :)
Oceans11
15-08-2008, 09:39
Un dubbio che mi rimane è il comportamento dell'apertura dei File quando il programma è incapsulato in un jar.Il costruttore:
Codice:
File nome=new File("path");
funziona anche da dentro il jar e il file da aprire è fuori? in tal caso va usato a forza il path assoluto? Incorporare il file di config dentro al jar ha senso? mi spiego meglio: non dovrebbe essere facilmente accessibile dall'utente e quindi fuori dal jar?
Allora, se il programma sta o meno nel jar non c'è differenza su come accedere alle risorse
C'è però un modo diverso di accedere alle risorse se queste sono o meno nel jar, però non ti so dire come. Nel tutorial c'è cmq un trail apposta.
Riepilogando, usi codice diverso se le risorse a cui devi accedere stanno o meno in un jar, non importa dov'è il codice. (.....almeno spero sia così :D )
Io il file di config l'ho sempre usato al di fuori del jar, ma a dire la verità dentro è un pò meno accessibile, dovrebbe essere meglio no?
D'altronde un utente può sempre cambiare la config dal programma!
Per quanto riguarda l'avviso sulle dispense.....non è per niente una regola del Java! Se il prof vuole così, beh :ciapet:, ma funziona tutto anche con un percorso relativo (ad esempio: "../../programmi/accessori/porcaloca.txt")
Allora, se il programma sta o meno nel jar non c'è differenza su come accedere alle risorse
C'è però un modo diverso di accedere alle risorse se queste sono o meno nel jar, però non ti so dire come. Nel tutorial c'è cmq un trail apposta.
Riepilogando, usi codice diverso se le risorse a cui devi accedere stanno o meno in un jar, non importa dov'è il codice. (.....almeno spero sia così :D )
Io il file di config l'ho sempre usato al di fuori del jar, ma a dire la verità dentro è un pò meno accessibile, dovrebbe essere meglio no?
D'altronde un utente può sempre cambiare la config dal programma!
Per quanto riguarda l'avviso sulle dispense.....non è per niente una regola del Java! Se il prof vuole così, beh :ciapet:, ma funziona tutto anche con un percorso relativo (ad esempio: "../../programmi/accessori/porcaloca.txt")
Grazie ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.