Tenho um código já implementado que usa PrintWriter para armazenar um arquivo XML. Preciso refatorar este código para obter este arquivo como OutputStream.
Alguem sabe como posso fazer um OutputStream ler e escrever ao mesmo tempo. Pois tenho que armazenar este arquivo ao mesmo tempo em disco e no banco de dados. Como estou usando Blob preciso de um outputstream.
Preciso permanecer com o pw em arquivo para gravar no disco e tambem garvar no banco. Para eu gravar no banco preciso d eum outputstream. Como mudar o código anterior?
foia
isso é pra log ?!
c vai gravar string no banco ou um array de bytes ?!
c vai gravar um registro no bd pra cada println ?!
Rubem_Azenha
Para ler e escrever em um arquivo use a classe RandomAccessFile
Eu gosto muito dela, tem todos os métodos que você precisa para I/O
Daniel_Quirino_Olive
OutputStream, como o nome já sugere, é usado apenas para SAÍDA de dados da sua aplicação para algum lugar (arquivo, socket, dispositivo serial…). E, se você se lembrar bem, vai ver que Stream são “dutos” de dados de “mão única”, ou seja, ou servem APENAS para escrever ou servem APENAS para ler.
Se você precisar trabalhar com dutos de “mão dupla”, uma alternativa é usar Channels, do java.nio (pode ser um Channel baseado em RandomAccessFile, como já sugerido).
Dá uma caçada na seção de artigos do GUJ para ler mais a respeito de NIO
A
AllMighty
Também podem ser úteis a PipedOutputStream e PipedInputStream.