dúvida de ByteArrayOutputStream

1 resposta
jason_bourne

Pessoal,

Preciso jogar os dados recebidos de uma query pra um ByteArrayOutputStream, só que não faço a mínima idéia de como jogar esses dados numa variável.
Segue o código que tenho para dar a query, mas esse exemplo é pra jogar num ArrayList dados de um relatório.

]

VQuery query = new VQuery("DAO.selecionaProspecto", parametros, "com.vf.comercial.fundo.dao.DAOProspecto");

		List relatorios = new ArrayList();
		Collection resultado = null;
		try {
		    resultado = cdao.selecionar(query);
		    
			if (resultado.size() > 0) {
				
				VRelatorio rel;
				Map mp;
				Iterator it = resultado.iterator();

				//ByteArrayOutputStream baos = extratoCC.montaRelatorio(extratos,dtInicial,dtFinal,nuConta,nmPessoa,nuDocumento);
								
				while (it.hasNext()) {
					mp = (Map) it.next();
					rel = new VRelatorio();
					
					rel.setCdTipoRelatorio((Integer) mp.get("CDTIPORELATORIO"));
					rel.setNmTipoRelatorio((String) mp.get("NMTIPORELATORIO"));
					rel.setNuConta				
					relatorios.add(rel);
				}
			}		    
			
		} catch (Exception e) {
			log.error("(selecionaProspecto) Erro recuperar dados do prospecto : " + e.getMessage());
		}

1 Resposta

T

Um ByteArrayOutputStream é um OutputStream cuja saída é um array de bytes. Uma vez fechado, chame “toByteArray” para obter o array de bytes contendo os dados que foram escritos nele.

http://java.sun.com/j2se/1.5.0/docs/api/java/io/ByteArrayOutputStream.html#toByteArray()

(Tecnicamente você pode chamar toByteArray mesmo sem ter fechado o ByteArrayOutputStream, mas é que a cada vez que se chama essa rotina, o Java copia todo o conteúdo do buffer onde os dados foram escritos em um novo array de bytes.

Criado 21 de junho de 2007
Ultima resposta 21 de jun. de 2007
Respostas 1
Participantes 2