import java.io.*;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
* 打包文件进行zip下载
* @param files:文件路径,本地路径(服务器上则在临时文件夹生成)
* @param response
*/
private void writeZip(List<String> files,HttpServletResponse response){
response.setContentType("application/zip")
response.setHeader("content-disposition", "attachment
ZipOutputStream zos = null
BufferedInputStream bis = null
try{
zos = new ZipOutputStream(response.getOutputStream())
byte[] buf = new byte[8192]
int len
for (int i = 0
File file = new File(files.get(i))
if (!file.isFile()) continue
ZipEntry ze = new ZipEntry(file.getName())
zos.putNextEntry(ze)
bis = new BufferedInputStream(new FileInputStream(file))
while ((len = bis.read(buf)) > 0) {
zos.write(buf, 0, len)
}
zos.closeEntry()
}
zos.closeEntry()
}catch(Exception ex){
log.error(ex.getMessage())
}finally {
if(bis != null){
try{
bis.close()
}catch(Exception e){
e.printStackTrace()
}
}
if(zos != null){
try{
zos.close()
}catch(Exception e){
e.printStackTrace()
}
}
}
}