//直接拿到输出流,套个zip流,往流里写文件
OutputStream res = null;
ZipOutputStream zos = null;
res = response.getOutputStream();
//设置输出的文件名(这里中文的话需要自己转格式)
String name = new String("abc");
// 清空输出流
response.reset();
// 设定输出文件头
String fileName = new String(name+".zip");
response.setHeader("Content-Disposition", "attachment;fileName="
+ fileName);
response.setContentType("application/zip");
zos = new ZipOutputStream(res);
ZipUtils.doCompress(new File("123.txt"), zos);
response.flushBuffer();
ZipUtils.doCompress(new File("456.txt"), zos);
response.flushBuffer();
zos.close();
//这个是工具类
package com.kuyuntech.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
* Created by yym on 2017/7/19.
*/
public class ZipUtils {
public static void doCompress(File file, ZipOutputStream out) throws IOException {
if( file.exists() ){
byte[] buffer = new byte[1024];
//获取该文件的流
FileInputStream fis = new FileInputStream(file);
out.putNextEntry(new ZipEntry(file.getName()));
int len = 0 ;
// 读取文件的内容,打包到zip文件
while ((len = fis.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
out.flush();
out.closeEntry();
fis.close();
}
}
}