Java生成zip包并下载

本文介绍如何使用Java在内存中直接通过流生成zip文件,以及如何将字符串内容转化为zip文件,并实现下载功能。
摘要由CSDN通过智能技术生成

通过流在内存中直接生成zip,或者字符串生成zip

1.根据已有的文件或者字符串,生成Zip输出流,从浏览器下载zip包
jar包ant-1.6.5.jar
指定文件打包,或者指定字符串压缩成指定文件,并下载
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
/**
* 类说明:压缩指定文件,到指定目录/文件
*/
public class ZipUtil extends HttpServlet {
     private static final long serialVersionUID = 1L;
     
     @Override
    protected void doGet(HttpServletRequest request,   HttpServletResponse response) throws ServletException,  IOException  {
           String zipFileName = "下载文件名称.zip";
           response.reset();
        response.setHeader("Pragma", "public");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("application/zip;   charset=utf-8");
         response.addHeader("Content-Disposition","attachment;fileName="+new String(zipFileName.getBytes("GBK"),"ISO-8859-1"));
        
        File file = new File("E:/test.dat");
        try {
            downloadZip(file,  response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public void downloadZip(File srcFile, HttpServletResponse  response)  throws Exception{
          OutputStream out = null;
          In
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值