Francesco93 ha scritto:
ho notato che non lo trova proprio perchè nel mio filepath c'è quella o accentata che diventa magicamente un '?'.
Se il testo con lettere speciali/particolari lo scrivi in una stringa
literal nel sorgente, allora bisogna anche valutare le questioni sul charset del sorgente!
a) Deve essere scelto un charset in grado di rappresentare i caratteri speciali come la 'ò' (es. UTF-8 è ok e anche es. ISO-8859-1 è ok perlomeno per tutte le principali lettere accentate).
b) Il IDE/editor deve salvare il sorgente .java usando questo charset scelto e deve codificare correttamente i caratteri in byte. Es. per UTF-8 il IDE/editor deve scrivere 2 byte 0xC3 0xB2 per la "ò".
c) Il compilatore Java deve essere invocato specificando il charset scelto, se è diverso da quello di default della piattaforma.
Se usi un IDE (es. Eclipse), molto di questi punti è già automatico/implicito e generalmente corretto. Se usi un qualunque "comune" editor e/o compili "a mano" con i tools del JDK questo invece è tutto da verificare/impostare.
Se è tutto corretto e nel byte-code Java la stringa contiene la giusta codifica Unicode per la "ò", fin qui è tutto corretto e da questo lato non c'è nulla di sbagliato.
Resta solo il fatto di come una stringa Unicode venga poi "traslata" sul file-system (che potrebbe usare un charset specifico o essere meno "ampio" rispetto al Unicode). Questo è un altro discorso ma perlomeno con i file-system moderni (es. NTFS) non dovrebbero esserci problemi.