BytesMessage

1 resposta
U

Estou tentando criar um arquivo a partir de uma mensagem BytesMessage recebida pelo sistema, ao receber a mensagem preencho o objeto com o conteúdo do arquivo a ser gerado como abaixo:

...
//setando o atributo content
BytesMessage bm = (BytesMessage) ((Message) message);
byte[] buffer = new byte[(int)bm.getBodyLength()];
bm.readBytes(buffer,(int)bm.getBodyLength());						
Data data = new Data();
data.setContent(buffer);// private byte[] content
...

Depois estou tentando ler o objeto e gerar o arquivo da seguinte forma:

...
//gerando arquivo a partir de content
BufferedOutputStream outBuf = null;
try {  
   outBuf = new BufferedOutputStream (new FileOutputStream (new File(tmpFile)));
   outBuf.write(data.getContent());
} catch (IOException e) {e.printStackTrace();}

O problema é que o conteúdo dos arquivos estão assim (exemplo):
\00\00\00E\00\00\00x\00\00\00e\00\00\00m\00\00\00p\00\00\00l\00\00\00o\00\00\00 \00\00\00T\00\00\00X\00\00\00T
quando deveria estar assim:
Exemplo TXT

Alguém sabe porque?

1 Resposta

U

Resolvido, na verdade o código abaixo está certo. O problema estava quando eu criara a mensagem, estava lendo o arquivo de forma errada.

Criado 3 de maio de 2012
Ultima resposta 3 de mai. de 2012
Respostas 1
Participantes 1