Java: file download

One way to create a downloadable file in a Java webapp

/* set required headers */
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=DownloadFile.csv"); 

/* stream the file into a byte array */
byte[] downloadFile = buildDownloadFile();

/* write directly to the client */
OutputStream os = response.getOutputStream();
os.write(downloadFile, 0, downloadFile.length);
os.flush();
os.close();