public static void writeZip(final HttpServletResponse response, final List<File> files, String fileName) throws IOException {
response.reset();
response.setContentType("text/comma-separated-values;charset=gbk");
response.setCharacterEncoding("GBK");
fileName = FileUtil.toUtf8String(fileName);
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
final OutputStream os = response.getOutputStream();
final ZipOutputStream zos = new ZipOutputStream(os);
zos.setEncoding("gbk");// 指定编码为gbk,否则部署到linux下会出现乱码
final byte[] buf = new byte[1024];
int len;
for (final File file : files) {
if (!file.isFile()) {
continue;
}
final ZipEntry ze = new ZipEntry(file.getName());
zos.putNextEntry(ze);
final BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
while ((len = bis.read(buf)) > 0) {
zos.write(buf, 0, len);
}
zos.closeEntry();
}
zos.close();
}
response.reset();
response.setContentType("text/comma-separated-values;charset=gbk");
response.setCharacterEncoding("GBK");
fileName = FileUtil.toUtf8String(fileName);
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
final OutputStream os = response.getOutputStream();
final ZipOutputStream zos = new ZipOutputStream(os);
zos.setEncoding("gbk");// 指定编码为gbk,否则部署到linux下会出现乱码
final byte[] buf = new byte[1024];
int len;
for (final File file : files) {
if (!file.isFile()) {
continue;
}
final ZipEntry ze = new ZipEntry(file.getName());
zos.putNextEntry(ze);
final BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
while ((len = bis.read(buf)) > 0) {
zos.write(buf, 0, len);
}
zos.closeEntry();
}
zos.close();
}