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!