Java: como determinar a codificação de conjunto de caracteres correta de um fluxo
Com referência ao seguinte segmento:Aplicativo Java: Não foi possível ler o arquivo codificado iso-8859-1 corretamente
Qual é a melhor maneira de determinar programaticamente a codificação correta do conjunto de caracteres de um fluxo de entrada / arquivo?
Eu tentei usar o seguinte:
File in = new File(args[0]);
InputStreamReader r = new InputStreamReader(new FileInputStream(in));
System.out.println(r.getEncoding());
Mas em um arquivo que eu sei que está codificado com ISO8859_1, o código acima gera ASCII, que não está correto, e não me permite renderizar corretamente o conteúdo do arquivo de volta ao console.