Sobes.tech
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.