今天跟大家聊聊使用ZipOutputStream打包下载,我下面是使用ant的jar打包的,因为他对应中文的支持比较好

大家也可以使用java.util.zip包里面的工具类打包,但是他对于中文不友好,很多都是乱码的(包括注释、文件名、打包名)

import org.apache.tools.zip.ZipEntry;

import org.apache.tools.zip.ZipOutputStream;

/**

* 打包下载

*

* @param response

*/

private void downFile(HttpServletResponse resp,

ArrayList filePathList) throws ServletException,

IOException {

// 头文件

resp.setContentType("APPLICATION/OCTET-STREAM");

resp.setHeader("Content-Disposition",

"attachment; filename=" + this.getZipFilename());

// 压缩文件

ZipOutputStream zos = new ZipOutputStream(resp.getOutputStream());

// --拼装

ArrayList fileList = new ArrayList();

for (int i = 0; i < filePathList.size(); i++) {

File file = new File(filePathList.get(i));

fileList.add(file);

}

File[] files = fileList.toArray(new File[fileList.size()]);

// --打包

zipFile(files, "", zos);

zos.flush();

zos.close();

}/**

* 打包文件

*

* @param subs

* 文件数组

* @param baseName

* 自定义名字

* @param zos

* 输出流

* @throws IOException

*/

private void zipFile(File[] subs, String baseName, ZipOutputStream zos)

throws IOException {

for (int i = 0; i < subs.length; i++) {

File f = subs[i];

zos.putNextEntry(new ZipEntry(baseName + f.getName()));

FileInputStream fis = new FileInputStream(f);

byte[] buffer = new byte[1024];

int r = 0;

while ((r = fis.read(buffer)) != -1) {

zos.write(buffer, 0, r);

}

fis.close();

}

}

/**

* 压缩包名字

*

* @return

*/

private String getZipFilename() {

Date date = new Date();

String s = date.getTime() + ".zip";

return s;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

java基础入门txt下载地址_java基础入门-ZipOutputStream打包下载相关推荐

  1. java基础入门-ZipOutputStream打包下载

    今天跟大家聊聊使用ZipOutputStream打包下载,我下面是使用ant的jar打包的,因为他对应中文的支持比较好 大家也可以使用java.util.zip包里面的工具类打包,但是他对于中文不友好 ...

  2. 电脑android模拟器下载地址,原神电脑版怎么下载 安卓模拟器电脑版下载地址

    标签: 电脑 最近在朋友圈非常流行的手游原神已经开放下载了,不过不少玩家都觉得手机上玩原神手机屏幕太小,操作不方便,画面不够清晰炫酷.那么如何在电脑上运行原神这款手游呢?小编现在就推荐一款原神安卓模拟 ...

  3. 电脑android模拟器下载地址,菜鸡电脑版怎么下载 安卓模拟器电脑版下载地址

    最近在朋友圈非常流行的手游菜鸡已经开放下载了,不过不少玩家都觉得手机上玩菜鸡手机屏幕太小,操作不方便,画面不够清晰炫酷.那么如何在电脑上运行菜鸡这款手游呢?小编现在就推荐一款菜鸡安卓模拟器给大家!希望 ...

  4. formvalidator4.1.3下载,formvalidator4.1.3下载地址,formvalidator4.1.3最新下载地址

    formvalidator4.1.3下载, formvalidator4.1.3下载地址, formvalidator4.1.3最新下载地址. 迅雷快传下载地址 : http://kuai.xunle ...

  5. formvalidator4.1.3下载,formvalidator4.1.3下载地址,formvalidator4.1.3最新下载地址【蕃薯耀分享】

    formvalidator4.1.3下载, formvalidator4.1.3下载地址, formvalidator4.1.3最新下载地址. 迅雷快传下载地址: http://kuai.xunlei ...

  6. 《天下布魔Tenkafu MA》8月新包下载地址分享 1.4.1版本下载百度网盘

    各位看官大大:想必在这款游戏的攻略介绍上,我猜你们阿最关心的莫过于就是<天下布魔Tenkafu MA>8月新包下载地址分享 1.4.1版本下载百度网盘的种种问题了!当然如果你正好希望看到这 ...

  7. 电脑android模拟器下载地址,真实手机电脑版怎么下载 安卓模拟器电脑版下载地址...

    标签: 电脑 最近在朋友圈非常流行的手游真实手机已经开放下载了,不过不少玩家都觉得手机上玩真实手机手机屏幕太小,操作不方便,画面不够清晰炫酷.那么如何在电脑上运行真实手机这款手游呢?小编现在就推荐一款 ...

  8. 电脑android模拟器下载地址,仙域奇缘电脑版怎么下载 安卓模拟器电脑版下载地址...

    标签: 电脑 最近在朋友圈非常流行的手游仙域奇缘已经开放下载了,不过不少玩家都觉得手机上玩仙域奇缘手机屏幕太小,操作不方便,画面不够清晰炫酷.那么如何在电脑上运行仙域奇缘这款手游呢?小编现在就推荐一款 ...

  9. 电脑android模拟器下载地址,史尼普电脑版怎么下载 安卓模拟器电脑版下载地址...

    最近在朋友圈非常流行的手游史尼普已经开放下载了,不过不少玩家都觉得手机上玩史尼普手机屏幕太小,操作不方便,画面不够清晰炫酷.那么如何在电脑上运行史尼普这款手游呢?小编现在就推荐一款史尼普安卓模拟器给大 ...

最新文章

  1. 【c语言】蓝桥杯算法提高 输出三个整数的最大数
  2. C语言中结构体的位域(bit-fields)
  3. 第六章 深度学习(中下)
  4. 关于ORACLEOraDb11g_home1TNSListener服务启动后又停止问题的关键点
  5. websockets_使用Java WebSockets,JSR 356和JSON映射到POJO的
  6. BNU44583——Star Trek: First Contact——————【01背包】
  7. windows修改右键菜单显示内容(非所有菜单适用)
  8. android仿优酷菜单,Android编程实现仿优酷旋转菜单效果(附demo源码)
  9. Acrobat Pro DC 教程,如何发送电子签名文件?
  10. Struts2学习笔记(4)-ActionSupport类及Action接口详解
  11. 安装配置limesurvey
  12. linux串口编程(termios结构体说明)
  13. mysql 主键 sql语句_Mysql主键相关的sql语句集锦
  14. bertram_Bertram
  15. 关于arctanx的麦克劳林展开式推导
  16. eNSP之防火墙简单实验(一)
  17. 研发管理-质量与效率提升-混沌工程在携程的实践
  18. Windows 安装appium环境
  19. 全网最详细的微信小程序开发教程
  20. U盘文件乱码的解决方案

热门文章

  1. Python 实战之 什么是量化交易?它与python之间的关系
  2. 操作系统原理学习笔记(基础概念与进程)
  3. 【矩阵论】特征值的估计(上下界和盖尔圆)
  4. Unix时间戳(Unix timestamp)在线转换工具
  5. 4.1.3 消费者轮询的流程
  6. 高中理科学生成绩管理系统(C语言课程设计)
  7. 点晴oa办公系统 18.0119B
  8. java 当前时间_Java 获取当前时间的小时(24小时制)
  9. 爬虫学习-selenium工具使用
  10. C# 将Base64转换为图片并保存到Image数组