Ola pessoal,
estou com um problema ao ler um arquivo no linux, esse arquivo gera um determinado conteudo a ser renderizado por uma pagina, quando o arquivo possui caracteres especiais(á, é) ele nao le o caractere corretamente, fiz um metodo para ler o arquivo com encoding mas estou com duvidas se a implementacao esta correta, o problema eh q so da pra testar em ambiente de producao, sera que alguem poderia me dizer se a implementacao esta correta???
public static String readData(String filePath, String charSet) throws Exception {
Charset cs = Charset.forName(charSet);
CharsetDecoder decoder = cs.newDecoder() ;
FileInputStream fis = new FileInputStream(new File(filePath));
FileChannel fc = fis.getChannel();
MappedByteBuffer mappedByteBuffer = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
CharBuffer cb = decoder.decode(mappedByteBuffer) ;
fc.close();
return cb.toString();
}