Java多文件生成压缩包下载功能
public void zipInputFiles(HttpServletResponse response) {
String fileName = "111.zip";
try(ZipOutputStream zipOutputStream = new ZipOutputStream(response.getOutputStream()); OutputStream out =null) {
response.reset();
response.setCharacterEncoding("GBK");
response.setContentType("application/multipart/form-data");
response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GBK"), "ISO-8859-1"));
File lossFile = new File("/Users/honey/Downloads/222464.txt");
if (lossFile.exists()) {
FileInputStream fileInputStream = new FileInputStream(lossFile);
byte[] data = new byte[(int) lossFile.length()];
fileInputStream.read(data);
ZipEntry zipEntry = new ZipEntry(lossFile.getName());
zipOutputStream.putNextEntry(zipEntry);
zipOutputStream.write(data);
fileInputStream.close();
} else {
System.err.println("文件不存在");
}
File lossFile2 = new File("/Users/honey/Downloads/newFile.csv");
if (lossFile2.exists()) {
FileInputStream fileInputStream = new FileInputStream(lossFile2);
byte[] data = new byte[(int) lossFile2.length()];
fileInputStream.read(data);
ZipEntry zipEntry = new ZipEntry(lossFile2.getName());
zipOutputStream.putNextEntry(zipEntry);
zipOutputStream.write(data);
fileInputStream.close();
} else {
System.err.println("文件不存在");
}
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}