I am trying to create a zip file on the fly containing a bunch of csv files to return from a servlet, and this is very confusing. A little guide would be great. Here are the pieces of code that I have, something needs to work together:
// output stream coming from httpResponse, thats all fine ZipOutputStream zip = new ZipOutputStream(outputStream); // using the openCSV library to create the csv file CSVWriter writer = new CSVWriter(Writer?); // what writer do I use? I want to write to memory, not a file writer.writeNext(entries); writer.close(); // at this point should I have the csv file in memory somewhere? //and then try to copy it into the zip file? int length; byte[] buffer = new byte[1024 * 32]; zip.putNextEntry(new ZipEntry(getClass() + ".csv")); // the 'in' doesn't exist yet - where am I getting the input stream from? while((length = in.read(buffer)) != -1) zip.write(buffer, 0, length); zip.closeEntry(); zip.flush();
source share