JAVAWEB压缩多个文件并下载

        //文件名称
        String[] names={"one.jpg","two.jpg","three.jpg","four.jpg"};
        //四个文件流
        FileInputStream input1 = new FileInputStream(new File("文件路径"));
        FileInputStream input2 = new FileInputStream(new File("文件路径"));
        FileInputStream input3 = new FileInputStream(new File("文件路径"));
        FileInputStream input4 = new FileInputStream(new File("文件路径"));
        FileInputStream[] inputs={input1,input2,input3,input4};
        //ZIP打包图片
        File zipFile = new File("压缩文件存放路径");
        byte[] buf = new byte[1024];
        int len;
        ZipOutputStream zout=new ZipOutputStream(new FileOutputStream(zipFile));
        for (int i = 0; i < inputs.length; i++) {
            FileInputStream in =inputs[i];
            zout.putNextEntry(new ZipEntry(names[i]));
            while ((len = in.read(buf)) > 0) {
                zout.write(buf, 0, len);
            }
            zout.closeEntry();
            in.close();
        }
        zout.close();

        //下载图片
        FileInputStream zipInput =new FileInputStream(zipFile);
        OutputStream out = response.getOutputStream();
        response.setContentType("application/octet-stream");
        response.setHeader("Content-Disposition", "attachment; filename=images.zip");
        while ((len=zipInput.read(buf))!= -1){
            out.write(buf,0,len);
        }
        zipInput.close();
        out.flush();
        out.close();
        //删除压缩包
        zipFile.delete();
时间: 2024-07-30 08:54:49

JAVAWEB压缩多个文件并下载的相关文章

Javaweb学习笔记10—文件上传与下载

 今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多 一*, 文件的上传:      1 *分析实现步骤: 1.1* 客户端浏览器通过文件域选择本地要上传的文件. * 点击"上传"按钮

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 &amp;&amp; Linux下的ZipArchive配置开启压缩

PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipArchive;//新建一个ZipArchive的对象 /* 通过ZipArchive的对象处理zip文件 $zip->open这个方法的参数表示处理的

利用DotNetZip服务端压缩文件并下载

public void DownFile() {              string filePath = Server.MapPath("/Files/txt/bb.txt");//文件所在位置              var fs = Response.OutputStream;            using(Ionic.Zip.ZipFile zf = new Ionic.Zip.ZipFile()) {            zf.AddFile(filePath,

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 http://my.oschina.net/junn/blog/104464 PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipAr

JavaWeb框架_Struts2_(七)-----&gt;文件的上传和下载

这个章节是Struts2框架应用最广泛的三个版块(上传下载.国际化.校验输入)之一,所以这一版块的学习还蛮重要的. 1. 章节目录 Struts2文件上传 单文件上传 拦截器实现文件过滤 文件上传常量配置 Struts2多文件上传 Struts2文件下载 2.  具体内容 2.1Struts2文件上传 2.1.1单文件上传 本小节通过一个示例讲解Struts2如何实现单文件的上传. (1) 先写一个选择上传单文件页面(select.jsp) <%@ taglib prefix="s&quo

腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!

在做一些用户需求的时候,公司往往需要工程师采集到更多有用的关于用户的个人信息,然后对用户群进行分析,今天我不是来分析这些的,今天我主要是说 腾讯推出的款云产品,那就是对象存储服务COS,这个产品面向所有开发者,新用户都有免费享有10G的使用权,10G可能对于做方案的工程师来说可能是微不 足道的,比如后视镜和车载方案,会常常需要用到视频的存储与云分享,当然这里不是只本地存储哦,我指的是用户在使用方案商的方案的时候,比如他开车 的时候录了一段视频需要分享到某个域,共享给大家看,比如微信,这时候他肯定

linux学习笔记——打包、压缩、远程文件传输

############打包.压缩########################## 1.打包 (打包表示把一堆文件变成一个)tar            ##打包工具        -f        ##指定生成包的名字        -c        ##创建包        -v        ##显示创建过程        -t        ##查看包中内容        -x        ##解包        -r        ##追加文件到包中        -C  

iOS多线程与网络开发之大文件下载 (边下边写/暂停恢复下载/压缩解压zip/多线程下载)

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源码传送:http://dwz.cn/Nret1 A.需求 边下边写入硬盘 显示下载进度 暂停/恢复 下载 解压文件 多线程下载 B.基本知识 1

关于Android文件Apk下载的那点事

1.Android文件Apk下载变ZIP压缩包解决方案 如果你的下载服务器为Nginx服务器,那么,在Nginx安装目录下的conf/mime.types文件的对应位置,加上以下一行语句,指定APK文件的MIME类型为 application/vnd.android.package-archive 即可: [html] view plaincopy application/vnd.android.package-archive     apk; 如果是java-web服务器 只需要修改web.x