<%@page contentType="text/html;charset=GBK"%>
<%@page import="java.io.*,java.util.*,java.util.zip.*"%>
<%
ZipOutputStream zos=null;
ServletOutputStream sos=null;
try{
response.reset();
response.setContentType("application/x-msdownload"); //通知客户文件的MIME类型:
String filename = "default.zip";
response.setHeader("Content-disposition","attachment;filename=" + filename);
sos = response.getOutputStream();
zos = new ZipOutputStream(sos);
ZipEntry ze = null;
byte[] buf = new byte[2048]; //输出文件用的字节数组,每次发送2048个字节到输出流:
int readLength = 0;
int z=0;
for(int i=0;i<list.size();i++){
String FilePath = ""; //从list的得到路径和名称 list就是个包含路径的一个数组,大家可以修改他
String FileName = "";
File f = new File(FilePath);
if(!f.exists())
{
continue;
}
ze = new ZipEntry(FileName);
ze.setSize(f.length());
ze.setTime(f.lastModified());
zos.putNextEntry(ze);
InputStream is = new BufferedInputStream(new FileInputStream(f));
while ( (readLength = is.read(buf, 0, 2048)) != -1)
{
zos.write(buf, 0, readLength);
}
is.close();
}
}catch(Exception ex)
{
System.out.println("Error download:"+ex.toString());
}finally
{
if(zos!=null){
try
{
zos.close();
}catch(Exception ex)
{
System.out.println("Error download:"+ex.toString());
}
}
}
%>