Quote Originariamente inviata da raissa95 Visualizza il messaggio
Come faccio a usare la tua prima proposta?
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.