Quote:
Originariamente inviato da PGI-Bis
Qui ci vuole il metodo della nonna  .
Prima di creare l'input stream, un bel:
File file = new File("config" + File.separator + "FileProperties");
System.out.println(file.getCanonicalPath());
e vedi un po' dove lo cerca, 'sto file.
|
Lo trova in
[root]\config\FileProperties
Magari prova tu a postare un esempio banale per controllare l'esistenza di un file e io mi ricavo i relativi percorsi.
EDIT: File("nomefile") non è adatto perchè crea il file se non esiste. Bisogna provare con FileInputStream perchè genera un'eccezione se il file non esiste.
EDIT 2: incredibile, ora va! Non so che ho fatto di diverso... grazie comunque!
EDIT 3 - EPILOGO: La storia è questa. Nella prima versione scrivevo correttamente il codice che funzionava sia esportando il sorgente in jar che non esportando. Il problema è sorto da linux perchè doppiocliccando sul file jar, esso lancia automaticamente il programma (come in windows) con la differenza però che la CWD non è la stessa dove risiede il file jar (e non so ancora perchè si comporti così). Questo mi ha portato a modificare tutti i possibili percorsi invano. Ripristinando il codice orignario, ho fatto le stesse prove da windows e doppiocliccando sul file jar, il file di testo viene trovato correttamente. In pratica il problema sta nel fatto che windows e linux trattano direttamente la CWD nel caso in cui si voglia lanciare il jar doppiocliccandolo

(infatti se da linux lancio il file jar da riga di comando, tutto funziona alla perfezione).