iText, criar arquivo na memória?

Pessoal, tenho um método que gera um arquivo pdf utilizando o iText, acontece que ele cria este arquivo em DISCO e eu gostaria que ele fosse criado em memória.

public void writeToFile(String path){
        ByteArrayOutputStream byte = generator.getBaos();
        try{        
            FileOutputStream file = new FileOutputStream(path);
            file.write(byte.toByteArray());
            file.flush();
        }
        catch (Exception e) {
            e.printStackTrace();
        } 
}

Método usado no Servlet para recuperar o arquivo em DISCO:

URL url = request.getSession().getServletContext().getResource("/file.pdf");
BufferedInputStream leitor    = new BufferedInputStream(url.openStream(), 4*1024);				
ServletOutputStream escritor = response.getOutputStream();				
				
byte[]buffer = new byte[4 * 1024];
int size;
				
while((size = leitor.read(buffer, 0, buffer.length)) != -1 ){
	escritor.write(buffer, 0, size);
}

Alguém saberia me dizer como alterar meu método de criação do arquivo para ele gravar em MEMÓRIA ?

Valeu.

Use dessa forma:

Document documento = new Document();
PdfWriter.getInstance(documento, response.getOutputStream());
documento.open();
...
//criacao do seu documento


ByteArrayOutputStream baos = new ByteArrayOutputStream();
response.setHeader("Expires", "0");
response.setHeader("Pragma", "public");
response.setContentType("application/pdf");
response.setContentLength(baos.size());
ServletOutputStream out = response.getOutputStream();
baos.writeTo(out);
out.flush();
baos.close();
out.close();

http://itextdocs.lowagie.com/tutorial/general/webapp/index.php

Dessa forma foi que uma beleza !!!
Tente e me diga !!

Att,

ByteArrayOutputStream baos = new ByteArrayOutputStream();
Document documento = new Document();
PdfWriter.getInstance(documento, baos);
documento.open();

//criacao do seu documento

response.setHeader(“Expires”, “0”);
response.setHeader(“Pragma”, “public”);
response.setContentType(“application/pdf”);
OutputStream out = response.getOutputStream();
baos.writeTo(out);
out.flush();
baos.close();
out.close();