Olá pessoal, como faço para selecionar o encoding de um arquivo que está sendo gravado em java com o FileWriter?
Digamos que por algum motivo (por exemplo, você esteja executando seu programa no Windows) o encoding padrão não seja UTF-8. Então eu faria normalmente:
PrintWriter pw = new PrintWriter (new OutputStreamWriter (new FileOutputStream ("teste.txt"), "UTF-8"));
Normalmente não gosto de usar diretamente um FileWriter, já que ganho muito pouco em relação a um PrintWriter ou a um FileOutputStream.
Se mesmo assim você quiser usar um FileWriter, no apache commons-io tem a classe FileWriterWithEnconding, que deixa você especificar o enconding no construtor.
[]´s
valeu pessoal, usei o seguinte:
BufferedWriter fw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"UTF-8"));
e funcionou. Brigadão.