Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

PrintWriter, PrintStream ou FileWriter, qual utilizar?

Esse tópico já foi aberto e marcado como "solucionado" no link https://cursos.alura.com.br/forum/topico-printwriter-printstream-ou-filewriter-qual-utilizar-63148.

Porém o instrutor somente traduziu o Javadoc de cada classe, mas não explicou a diferença. Gostaria de reabrir o tópico, pois mesmo lendo o javadoc ou a tradução dele no tópico do link acima ainda está confuso.

Então gostaria que alguém explicasse a diferença entre as três classes e qual utilizar em qual contexto.

Obrigado

2 respostas
solução!

Oi Daniel, tudo bem?

A principal diferença é que o PrintWriter oferece alguns métodos adicionais para formatação, como o println e o printf (enquanto o FileWriter possui apenas um conjunto básico de métodos). O FileWriter lança uma IOException em caso de falha de IO. Por outro lado, nenhum dos métodos do PrintWriter lança IOException; em vez disso, retorna um booleano que pode ser obtido usando checkError().

PrintStream imprime em um OutputStream e PrintWriter imprime em um Writer. Ou seja, o PrintWriter é utilizado para saída de texto, PrintStream é utilizado para saída binária. A principal diferença que um OutputStream é um fluxo de bytes, enquanto um Writer é um fluxo de caracteres.

O PrintStream é anterior ao JDK 1.1 quando os fluxos de caracteres do Reader / Writer foram introduzidos. O PrintStream é usado quando você envia arquivos pela rede ou os grava no disco e opera em fluxos / bytes que não são codificados em texto.Quando é um arquivo baseado em texto / caracteres e você escreve vários caracteres ou cadeias, geralmente usamos o PrintWriter.

Muitíssimo obrigado. Resposta impecável. Agora sim ficou claro.