JavaWeb实现压缩多个文件并下载实例详解

 更新时间:2017年07月31日 14:36:40   作者:Nreo  
本文通过实例代码给大家讲解了javaweb实现压缩多个文件并下载功能,非常不错,具有参考借鉴价值,需要的朋友参考下吧

下面一段代码给大家分享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();

总结

以上所述是小编给大家介绍的JavaWeb实现压缩多个文件并下载实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringCloud Bus组件的使用配置详解

    SpringCloud Bus组件的使用配置详解

    bus称之为springcloud中消息总线,主要用来在微服务系统中实现远端配置更新时通过广播形式通知所有客户端刷新配置信息,避免手动重启服务的工作,这篇文章主要介绍了SpringCloud Bus组件的使用,需要的朋友可以参考下
    2022-03-03
  • Java实现汉字转全拼音的方法总结

    Java实现汉字转全拼音的方法总结

    在软件开发中,经常会遇到需要将汉字转换成拼音的场景,比如在搜索引擎优化、数据存储、国际化等方面,Java作为一种广泛使用的编程语言,提供了多种方法来实现汉字到拼音的转换,本文将详细介绍几种常用的Java汉字转全拼音的方法,并提供具体的代码示例和步骤
    2024-12-12
  • Mybatis 返回值类型和参数传递的配置方法

    Mybatis 返回值类型和参数传递的配置方法

    在 MyBatis 中,返回值类型和参数传递是 Mapper 接口中至关重要的两个方面,正确理解和使用它们可以帮助我们高效、准确地进行数据库操作,接下来通过本文给大家介绍Mybatis 返回值类型和参数传递的配置方法,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • javaweb 实现文件下载的方法及实例代码

    javaweb 实现文件下载的方法及实例代码

    这篇文章主要介绍了javaweb 实现文件下载的方法的相关资料,这里提供了实现代码,需要的朋友可以参考下
    2016-11-11
  • JavaWeb入门教程之分页查询功能的简单实现

    JavaWeb入门教程之分页查询功能的简单实现

    这篇文章主要介绍了JavaWeb入门教程之分页查询功能的简单实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Spring中的@Repository注解源码详解

    Spring中的@Repository注解源码详解

    这篇文章主要介绍了Spring中的@Repository注解详解,@Repository注解修饰哪个类,则表明这个类具有对对象进行增删改查的功能,而且@Repository是@Component注解的一个派生品,所以被@Repository注解的类可以自动的被@ComponentScan通过路径扫描给找到,需要的朋友可以参考下
    2023-10-10
  • java Thumbnails 图片处理的使用

    java Thumbnails 图片处理的使用

    这篇文章主要介绍了java Thumbnails 图片处理的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • java参数传值代码举例

    java参数传值代码举例

    在编程中往方法中传递参数的方法往往有两种,一种是值传递,一种是引用传递,而在java中所有的参数传递全部都是值传递,这篇文章主要给大家介绍了关于java参数传值的相关资料,需要的朋友可以参考下
    2024-03-03
  • Java实战角色权限后台脚手架系统的实现流程

    Java实战角色权限后台脚手架系统的实现流程

    只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+Springboot+Maven+myBaits-Plus+Vue+Element-UI+Mysql实现一个角色权限后台脚手架系统,大家可以在过程中查缺补漏,提升水平
    2022-01-01
  • Java实现ModbusTCP通信功能

    Java实现ModbusTCP通信功能

    使用ModbusTCP实现和硬件设备通信功能,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08

最新评论