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?