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

[Dúvida] Duvida da motivação das classes

PrintStream é então para saidas binarias, correto? Na aula a gente usou ele para escrever no documento, isso que eu não estou entendendo, ele faz a conversão dentro dele de binário recebendo do outputstream igual o OutputStreamWriter que a gente viu nas aulas anterior? Porque ele também tem um construtor que recebe uma string. Então ele faz esses dois papeis, conversão de binário para caráter e recebendo uma string para saida em string também?

outro ponto, PrintWriter, PrintStream e FileWriter são para escrita logo são todas classes de saida, certo?

2 respostas
solução!

Olá Nikolle, tudo bem com você?

A classe PrintStream retorna saídas em formato texto a partir de uma representação binária, ao contrário das outras OutputStreams.

Os construtores da classe PrintStream permitem, assim como acontece na OutputStreamWriter, o recebimento de uma OutputStream como fluxo de entrada da PrintStream. Além disso, pode ser passado um arquivo File ou até mesmo uma String que represente o nome de um arquivo.

O funcionamento do PrintStream é um pouco diferente do OutputStreamWriter, pois o PrintStream traz facilidade na representação no formato texto do fluxo de dados recebido, com muito mais métodos para tratar o fluxo, e segundo a própria documentação da classe PrintStream, seu uso deve ser preferido quando há a necessidade de imprimir caracteres ou texto ao invés de bytes.

Sendo assim, o PrintStream poderia ser considerado de mais alto nível, ao tratar de fluxo de saída de caracteres, ou Strings.

Quanto as classes PrintWriter, PrintStream e FileWriter, perfeito, todas pertencem às classes que tratam de fluxo de saída de dados, alterando apenas um pouco suas funcionalidades, cada uma tem usos preferíveis.

Para se aprofundar um pouco mais, recomendo a leitura da documentação das classes: PrintStream, OutputStreamWriter, PrintWriter, FileWriter, além do pacote java.io, que tem várias outras classes interessantes! Todas as documentações são disponibilizadas pela Oracle, empresa responsável pelo Java. A documentação está em inglês, mas caso seja necessário, recomendo utilizar a ferramenta de tradução do navegador para facilitar o entendimento!

Fico à disposição!

Um grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito obrigada Arthur!