Estou criando um programa simples de contagem de palavras em Java que lê os arquivos baseados em texto de um diretório.
No entanto, continuo recebendo o erro:
java.nio.charset.MalformedInputException: Input length = 1
desta linha de código:
BufferedReader reader = Files.newBufferedReader(file,Charset.forName("UTF-8"));
Sei que provavelmente entendi isso porque usei um Charset
que não incluía alguns dos caracteres nos arquivos de texto, alguns dos quais incluíam caracteres de outros idiomas. Mas eu quero incluir esses personagens.
Posteriormente, aprendi nos JavaDocs que o Charset
é opcional e usado apenas para uma leitura mais eficiente dos arquivos, então mudei o código para:
BufferedReader reader = Files.newBufferedReader(file);
Mas alguns arquivos ainda jogar a MalformedInputException
. Não sei por quê.
Eu queria saber se existe um all-inclusive Charset
que me permitirá ler arquivos de texto com muitos tipos diferentes de caracteres ?
Obrigado.
ISO-8859-1
e funciona bem. Acho que é para personagens europeus, o que é bom. Ainda não sei porUTF-16
que não funciona, no entanto.