JAVA 超详细 将文件夹保留目录打包为 ZIP 压缩包并下载

本文介绍如何在Java中将包含HTML、CSS和JS文件的目录打包成ZIP压缩包,并提供下载。通过代码示例展示了完整过程,确保下载后的ZIP文件保留原始目录结构。
摘要由CSDN通过智能技术生成

将文件夹保留目录打包为 ZIP 压缩包并下载

上周做了一个需求,要求将数据库保存的 html 界面取出后将服务器下的css和js文件一起打包压缩为ZIP文件,返回给前台;在数据库中保存的是html标签,查出后,我把这些内容写入css和js等其他文件所在目录的一个文件内,然后将这整个文件夹压缩打包下载,解决过程中遇到了下载出来后并没有保存层级目录,在查了好久方法后完成了如下版本,已经可以正常下载并保留层级目录。

话不多说,直接上代码,有不足的地方希望大哥们提出来一起探讨

	//ZIP文件包压缩下载
    @Override
    public void downloadZip(String id,HttpServletResponse response) {
   
   		String zipPath = "你的路径";
        File file = new File(zipPath,"index.html");//创建指定目录和文件名称的文件对象
        BufferedWriter bw = null;//创建缓冲流
        try {
   
        	//校验文件目录是否存在,文件是否存在
            chenkFile(file,zipPath);
            //这一步是我将指定内容从数据库写入文件
            ModuleInfo moduleInfo = moduleDao.getByModId(id);
           
            bw = new BufferedWriter(new FileWriter(file));
            //把内容写入临时文件中
            bw.write(moduleInfo.getContent());
            //此处不能删除,要关闭一次 不关闭无法写入内容 导致压缩包内文件无内容
            bw.flush();
            bw.close();
            //将目标文件压缩为ZIP并下载
            ZipUtil.zip(zipPath,response);
            //删除文件(防止下一次压缩时有重复文件名)
            file.delete();
        } catch (Exception e) {
   
            log.error
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值