Sto creando un semplice programma di conteggio parole in Java che legge i file di testo di una directory.
Tuttavia, continuo a ricevere l'errore:
java.nio.charset.MalformedInputException: Input length = 1
da questa riga di codice:
BufferedReader reader = Files.newBufferedReader(file,Charset.forName("UTF-8"));
So che probabilmente ho capito perché ho usato un Charset
che non includeva alcuni caratteri nei file di testo, alcuni dei quali includevano caratteri di altre lingue. Ma voglio includere quei personaggi.
Successivamente ho appreso al JavaDocs che Charset
è opzionale e utilizzato solo per una lettura più efficiente dei file, quindi ho cambiato il codice in:
BufferedReader reader = Files.newBufferedReader(file);
Ma alcuni file continuano a lanciare l'estensione MalformedInputException
. Non so perché
Mi chiedevo se esiste un all-inclusive Charset
che mi permetterà di leggere file di testo con tanti tipi diversi di caratteri ?
Grazie.
ISO-8859-1
e funziona bene. Penso che sia per i personaggi europei, il che va bene. Non so ancora perchéUTF-16
non funziona, però.