Meu programa le um arquivo txt, e grava em uma lista todas as palavras separadas, e grava a frequencia com que elas ocorrem. O problema é que quando o arquivo tem alguma palavra com acentuação, qualquer que seja, o programa não le nada do texto, não importa se seja apenas uma palavra no final do texto, ou varias palavras em varias partes do texto, ele não le nada.
Acredito que seu problema esteja relacionado a forma que você está usando o Scanner.
Quando vc pergunta "has next?" e pega o "next", vc está pegando um token do Scanner baseado no delimitador padrão do Scanner, que por sua vez, deve estar atrapalhando o recorte.
Tente pegar linha a linha, e então recortar cada linha nos espaços.
Algo assim:
input=newScanner(file);// tem mais linhas?while(input.hasNextLine()){// sim, tem mais linhas...// pega a linha, recorta nos espaços (\s), gerando um array (segundo argumento do for each)// e itera por esse array, colocando cada token na String palavrafor(Stringpalavra:input.nextLine().split("\s")){list.insert(palavra);}}
bruno_rg1 like
Você já tentou passar o charset do arquivo de texto que contém a acentuação como parâmetro para o Scanner?