我正在尝试动态创建一个zip文件,其中包含一堆csv文件并从servlet返回该文件,但这很令人困惑。需要一些指导。以下是我已经拥有的一些代码片段,它们需要共同协作:
// 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();
ByteArrayOutputStream
? - fge