Java servlet и IO: Создание файла без сохранения на диск и отправки пользователю

Я надеюсь, что вы можете помочь мне с вопросом о создании/отправке файла. Я знаю, как создать и сохранить файл. Я знаю как отправить этот файл обратно пользователю через ServletOutputStream.

Но мне нужно создать файл, не сохраняя его на диске, а затем отправить этот файл через ServletOutputStream.

Код выше объясняет части, которые у меня есть. Любая помощь будет принята с благодарностью. Заранее спасибо.

// This Creates a file
//
String   text = "These days run away like horses over the hill";
File     file = new File("MyFile.txt");
Writer writer = new BufferedWriter(new FileWriter(file));
writer.write(text);
writer.close();

// Missing link goes here
//

// This sends file to browser
//
InputStream inputStream = null;
inputStream = new FileInputStream("C:\\MyFile.txt");

byte[] buffer = new byte[8192];
ByteArrayOutputStream baos = new ByteArrayOutputStream();

int bytesRead;
while (  (bytesRead = inputStream.read(buffer)) != -1)
   baos.write(buffer, 0, bytesRead);

response.setContentType("text/html");
response.addHeader("Content-Disposition", "attachment; filename=Invoice.txt");

byte[] outBuf = baos.toByteArray();
stream = response.getOutputStream();
stream.write(outBuf);
7
задан LatinCanuck 21 December 2011 в 23:15
поделиться