
Originariamente inviata da
andbin
La questione innanzitutto � su cosa basarsi. La tua applicazione potrebbe girare su Windows, su Linux, su Mac ... non lo so. Quindi: a) non puoi schiantare un path assoluto nel codice, b) non puoi pensare di poter scrivere ovunque ti pare sul disco.
Generalmente � tipico basarsi sulla "home" directory dell'utente, che � un concetto generico e presente su credo tutti i sistemi (non ho esperienza personale con i Mac ma la home directory esiste di certo anche l�).
Sotto la home directory molte applicazioni tipicamente tengono dati e configurazioni varie. E tipico che una applicazione crei sotto la home una directory con nome nella forma
.nomeapp (nota il punto iniziale). Sotto questa, la applicazione mette e struttura file e directory come gli pare.
In Java la home directory si rintraccia con la System property "user.home". A livello di codice bastano poche righe:
codice:
File appConfDir = new File(System.getProperty("user.home", ".nometuaapp");
File appImagesDir = new File(appConfDir, "images");
appImagesDir.mkdirs();
mkdirs() assicura che la catena di directory venga creata (se una o pi� cartelle non esistessero). Nota: restituisce un boolean, andrebbe testato.