java文件批量导出

废话不多说直接上代码
//获取文件名字
private String getFileTypeByUrl(String url) {
final String[] split = url.split("/");
return split[split.length-1];
}
//批量下载
@RequestMapping
public void downloadFile(HttpServletRequest request, HttpServletResponse response) {
String hh=request.getParameter(“epath”);
//从数据库获取相应的数据 更具自己逻辑写
List<Map<String,Object>> lists=service.getZzfils(hh);
String htname=“合同下载”;
if(lists!=null && lists.size()>0){
htname=lists.get(0).get(“GDJ”).toString();
}
//String[] urls = hh.split(",");
// 响应头的设置
response.reset();
response.setCharacterEncoding(“utf-8”);
response.setContentType(“multipart/form-data”);

 // 设置压缩包的名字// 解决不同浏览器压缩包名字含有中文时乱码的问题String downloadName = htname+System.currentTimeMillis()+".zip";String agent = request.getHeader("USER-AGENT");try {if (agent.contains("MSIE") || agent.contains("Trident")) {downloadName = java.net.URLEncoder.encode(downloadName, "UTF-8");} else {downloadName = new String(downloadName.getBytes("UTF-8"), "ISO-8859-1");}} catch (Exception e) {e.printStackTrace();}response.setHeader("Content-Disposition", "attachment;fileName=\"" + downloadName + "\"");// 设置压缩流:直接写入response,实现边压缩边下载ZipOutputStream zipos = null;try {zipos = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()));zipos.setMethod(ZipOutputStream.DEFLATED); // 设置压缩方法} catch (Exception e) {e.printStackTrace();}// 循环将文件写入压缩流DataOutputStream os = null;for (int i = 0; i < lists.size(); i++) {String fileName = getFileTypeByUrl(lists.get(i).get("ZZFILE").toString());File file = new File(uploadPathTemp+"/"+lists.get(i).get("ZZFILE").toString());try {// 添加ZipEntry,并ZipEntry中写入文件流// 这里,加上i是防止要下载的文件有重名的导致下载失败zipos.putNextEntry(new ZipEntry(fileName));os = new DataOutputStream(zipos);InputStream is = new FileInputStream(file);byte[] b = new byte[100];int length = 0;while ((length = is.read(b)) != -1) {os.write(b, 0, length);}is.close();zipos.closeEntry();} catch (IOException e) {e.printStackTrace();}}// 关闭流try {os.flush();os.close();zipos.close();} catch (IOException e) {e.printStackTrace();}

java文件批量导出相关推荐

  1. java文件批量下载打包成zip

    1.首先html页面获取当前需要下载文件的id集合将转成字符串形式传递到后台. ................ 2 .下面就是获取字符串之后的批量下载/*** 多文件批量下载压缩成zip**root ...

  2. java文件批量重命名文件,文件批量工具(File Attribute Changer)

    文件批量工具(File Attribute Changer)是一款对文件属性批量修改,以及对文件批量重命名的工具,所 谓的文件属性是指隐藏属性,在查看磁盘文件的名称时,系统一般不会显示具有隐藏属性的文 ...

  3. [Pulgin] 利用swfupload实现java文件批量上传

    URL:http://blog.csdn.net/xuweilinjijis/article/details/8876305 之前在网上找过很多相关资料,很多所谓的批量上传都是忽悠人的,真正的批量上传 ...

  4. C#使用模板文件批量导出word文档

    需求背景 因为疫情爆发,进入一级响应状态,公安部门进行了严格出入境管理,需要对每个出入境的人进行状态跟踪. 疫情专班会将出入境的每个人员汇总在一张Excel表中,如下图所示: 每一行对应一个人员信息, ...

  5. java文件无法导出excel文件,【excel表格文件格式无效】java导出excel,excel打不开,报文件格式无效,怎么解决!...

    excel提示 打开的文件.xls的格式与文件扩展名不一致怎么办 如果打开文件的格式与文件的扩展名不一致,只要能够打开就不用去管他. java导出excel,excel打不开,报文件格式无效,怎么解决 ...

  6. java文件批量改名代码_[原创]JAVA版批量更名程序(附源码)(要求加分)

    这是上学时JAVA课程的课程实践,因为学习好,老师让写一个比较有难度的程序出来,不要随便写个简单的来应付. 当时也不知道什么类型的程序在JAVA里比较有难度,正好在JAVA中文论坛里看到有人问用JAV ...

  7. java文件批量重命名6,批量重命名文件DOS脚本

    我自己写的一个进行批量文件重命名的批处理文件: rem modify the file name to the regular name echo modifing -- forfiles /s /m ...

  8. mysql java文件导入导出_MySQL文件导出和导入

    一.导出数据库用mysqldump命令: 注意mysql的安装路径,即此命令的路径 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr/ ...

  9. java文件批量下载

    /** * 批量下载控制 * @param response * @param request */ @RequestMapping(value = "/file/batDownload&q ...

最新文章

  1. 艰难就业季,2020 AI算法岗春招汇总 面经大全来了!!!
  2. Lua中的模块与module函数详解
  3. Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母
  4. java二分法查找法算法_算法二:二分法查找(java语言)
  5. Java Object类的各个方法
  6. 实验计算机控制器的实验结论,计算机毕业论文控制器实验报告.doc
  7. cdn对动态网站有作用吗_网站选择cdn加速有什么作用?
  8. 如何在psql中切换数据库?
  9. 常见的几种网络抓包及协议分析工具
  10. 微信小程序开发页面介绍
  11. 智安网络详解:零信任网络访问 (ZTNA)原理
  12. 火狐资产2.6浏览器 下载_通过浏览器体验资产商店!
  13. nyoj-891-找点
  14. AE影视后期之跳跃音符制作
  15. python真实收入曝光_程序员工资很高吗?资深HR透露真实收入,网友:说的很现实...
  16. 术业有专攻,数据库的 dba
  17. 12、go语言的duck typing
  18. 农民工自学java到找到工作的前前后后
  19. Android ListView 拖拽处理
  20. wordpress的事件以及钩子介绍

热门文章

  1. 第九十九节,JavaScript数据类型
  2. 树莓派显示屏输出设置
  3. 如何将蓝光文件转换为流行的格式
  4. 【Java 8 新特性】Java 8 Util API: StringJoiner 详解 | 拼接字符串添加分隔符、前缀和后缀
  5. 压缩包密码忘记了怎么解决
  6. Vben Admin
  7. 可以监控员工电脑上网行为的企业办公管理软件
  8. 屡败屡战的谷歌机器人计划,都交了哪些学费?
  9. 煤化工焦化RO浓水处理
  10. Adobe Audition剪辑音乐片段