【转载】Java如何实现文件打包下载功能
来源:互联网 发布:设ab均为二阶矩阵 编辑:程序博客网 时间:2024/06/01 08:09
在日常项目开发中,我们会经常遇到,上传下载以及打包的常用功能,本节中就如何利用JAva自带的类库,实现zip压缩打包文件下载进行详细说明。注:不支持中文文件名,可在上传时就重命名文件名称.(下面是我的完整项目下载类代码,改下自己的包名即可使用)。
正题:
中间层Java代码:
package com.etong.out.web; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.sql.SQLException; import java.util.Date; import java.util.HashMap; import java.util.zip.ZipEntry; import java.util.zip.ZipException; import java.util.zip.ZipOutputStream; public class ZipUtils { private String fileName; public 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(); zos.flush(); zos.close(); } } public String getZipFileName() { return fileName; } public void setZipFileName(String fileName) { this.fileName = fileName+new Date().getTime()+".zip"; } }JSP引用方法:
<% SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd_hhMMss"); response.setHeader("Content-disposition","attachment;filename=JMS"+f.format(new Date())+".zip"); ZipOutputStream zos = new ZipOutputStream(response.getOutputStream()); List jmsList = (List)workflowCommonDao.getListResult("OutNet.getNsrJmsWjxx",null); File[] files = new File[jmsList.size()]; for(int i=0; i<jmsList.size(); i++){ String inputStream = ((HashMap)jmsList.get(i)).get("WJDZ").toString(); files[i]=new File(inputStream); } ZipUtils zipUtil = new ZipUtils(); zipUtil.zipFile(files,"JmsFiles/", zos); zos.flush(); zos.close(); %>
0 0
- 【转载】Java如何实现文件打包下载功能
- Java如何实现文件打包下载功能
- Java web实现文件打包下载功能
- Java实现文件下载功能
- Java实现文件下载功能
- Java文件下载功能实现
- java实现文件下载功能
- java 下载文件功能实现
- Java 实现文件批量文件打包下载
- java实现多个文件打包下载
- .net如何实现文件下载功能
- java如何实现文件下载
- java文件打包下载
- java 打包下载文件
- java打包下载文件
- java文件打包下载
- java中如何实现下载word功能
- java—servlet实现文件下载功能
- Virtualbox中Windows设置共享文件夹
- Fragment简单使用
- Oracle分页
- HDOJ A New Tetris Game 1760【SG函数】
- 对kmp算法的一个小小的总结
- 【转载】Java如何实现文件打包下载功能
- [笔记][思维导图]读深入理解JAVA内存模型整理的思维导图
- HDU 1240 Asteroids!
- 线程池的实现
- 常用渗透测试系统
- 模块化设计实例
- mysql创建索引
- 使用maven,Apache ServiceMix开发OSGI web例子
- 流程控制语句