1.导出文件到zip包
public class ZipOutputStreamDemo {
public static void main(String[] args) throws Exception {byte[] buffer = new byte[1024];
// 生成的ZIP文件名为Demo.zip
String strZipName = "e:\\Demo.zip";
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
strZipName));
// 需要同时下载的两个文件result.txt ,source.txt
File[] file1 = { new File("e:\\result.txt"), new File("e:\\source.txt") };
for (int i = 0; i < file1.length; i++) {
FileInputStream fis = new FileInputStream(file1[i]);
out.putNextEntry(new ZipEntry(file1[i].getName()));
int len;
// 读入需要下载的文件的内容,打包到zip文件
while ((len = fis.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
out.closeEntry();
fis.close();
}
out.close();
System.out.println("生成Demo.zip成功");
}
}
2.导出json到zip包
public class ZipOutputStreamDemo {
public static void main(String[] args) throws Exception {
String strZipName = "wiki.zip";
//读取数据
listdoc = entryProvider.listDocEntry();
response.setHeader("content-Disposition","attachment;filename=" + strZipName);
//输出流
ZipOutputStream out = new ZipOutputStream(response.getOutputStream());
//转化为json
ZipEntry e = new ZipEntry("DocEntry.json");
out.putNextEntry(e);
JSONArray jsonArr= JSONArray.fromObject(listdoc);
Writer w = new OutputStreamWriter(out);
jsonArr.write(w);
w.flush();
out.close();
}
}