Middle
Qual é a diferença entre as classes PrintWriter e PrintStream?
sobes.tech IA
Resposta da IA
PrintWriter e PrintStream são classes para saída de dados, mas com características diferentes:
- PrintStream trabalha com fluxos de bytes (OutputStream), e PrintWriter com fluxos de caracteres (Writer).
- PrintWriter suporta especificar a codificação, o que é importante para trabalhar corretamente com texto em diferentes idiomas.
- PrintWriter possui métodos para esvaziar automaticamente o buffer (autoFlush) ao chamar println, printf e format.
- PrintStream não suporta diretamente trabalhar com codificações e está obsoleto para saída de texto.
Exemplo de criação de PrintWriter com especificação de codificação:
PrintWriter writer = new PrintWriter(new OutputStreamWriter(System.out, StandardCharsets.UTF_8), true);
writer.println("Exemplo de saída com PrintWriter");
Portanto, para saída de texto, é preferível usar PrintWriter, especialmente se a codificação for importante.