Bom dia!
Estou tentando ler um arquivo utilizando todos os métodos citados neste post http://pt.stackoverflow.com/questions/1823/como-ler-um-arquivo-de-texto-em-java
Nada do que faço altera o fato de ele não ler a cedilha e acentos.
O que posso estar fazendo de errado?
oi @rpassos81, pode ser o encoding do arquivo csv que você esta lendo…
você pode tentar:
File f = new File(arq);
FileInputStream fis = new FileInputStream(f);
InputStreamReader isr = new InputStreamReader( fis,"UTF-8" );
BufferedReader buffer = new BufferedReader( isr );
String str;
String conteudo="";
while ((str = buffer.readLine()) != null) {
conteudo += str;
}
ai tenta trocar o tipo de encoding (que esta “UTF-8”) para outros… caso saiba o encoding do arquivo coloca ele direto.
Outra coisa, pode ser também que… se você estiver dando print na tela… o seu console/terminal pode não suportar o encoding.
Boa tarde victormenegusso!
Obrigado pela atenção.
Mesmo utilizando o seu código, ele não consegue ler.
Este arquivo eu mesmo criei um txt na mão utilizando o notpad.
Eu coloque um breakpoint na linha dentro do while e a variável str já esta com erro. Veja na imagem
@rpassos81, o notepad geralmente usa como enconding o ANSI
Então no lugar de:
"UTF-8"
coloca:
"ANSI"
Obrigado!
Consegui ler o arquivo utilizando o seguinte código
Path localDoArquivo = Paths.get(file.getAbsolutePath());
List<String> linhas = Files.readAllLines(localDoArquivo, StandardCharsets.ISO_8859_1);
O estranho é que o código abaixo me retorno UTF8
InputStreamReader r = new InputStreamReader(new FileInputStream(file));
System.out.println(r.getEncoding());