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 Charsetche 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 Charsetche mi permetterà di leggere file di testo con tanti tipi diversi di caratteri ?
Grazie.
ISO-8859-1e funziona bene. Penso che sia per i personaggi europei, il che va bene. Non so ancora perchéUTF-16non funziona, però.