2
respostas

Qual a melhor forma de trabalhar com encoding usando o Properties.store()?

Pelos exemplos do curso usando um FileWriter como entrada do método store a saída do código "algum comentário" fica assim = "algum comentário". Consegui fazer funcionar usando o FileOutputStream. Quais são as melhores práticas para detecção e conversão de encodes?

package br.com.alura.java.io.teste;

import java.io.FileOutputStream;
//import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

public class TesteProperties {

    public static void main(String[] args) throws IOException {
        Properties properties = new Properties();

        properties.setProperty("login", "alura");
        properties.setProperty("senha", "alurapass");
        properties.setProperty("endereco", "www.alura.com.br");

//        properties.store(new FileWriter("conf.properties"), "algum comentário"); 
        properties.store(new FileOutputStream("conf.properties"), "algum comentário");

    }

}
2 respostas

Pelo que entendi o problema era apenas as configurações do Editor de texto do Eclipse que estava lendo em ISO-8859-1.

Também na sequencia do curso entendi como fazer sobrecarga de reader e writers passando o Charset.

properties.store(new FileWriter("conf.properties", StandardCharsets.UTF_8), "algum comentário");

Perfeito Cleydson, da forma como você fez agora vai ser gravado em UTF_8 o arquivo. Para mudar o encoding do eclipse para UTF-8 vá em Window -> Preferences -> General -> Workspace : Text file encoding

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software