Quote Originariamente inviata da andbin Visualizza il messaggio
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.
Ho inserito quel codice nel main ed effettivamente mi ha creato la cartella images nella cartella col mio nome utente. Al posto di .nometuaapp ho messo .discipline ma questa invece dove sta? Io appena apro utente vedo solo images. Comunque adesso che ho la mia directory, nel momento in cui aggiungo una nuova disciplina, la mia immagine deve finire l� e da l� deve essere caricata, corretto?
Ora, io col filechooser seleziono l'immagine e la copio in images, ma mi serve il percorso di images per poterlo fare... Come lo ricavo? Non posso mettere il mio perch� sarebbe appunto diverso per altri utenti... Grazie ancora