Java Zip文件处理
来源:互联网 发布:新西兰能用淘宝吗 编辑:程序博客网 时间:2024/05/07 14:13
1从上传的输入流中获取zip文件并解压内容到内存
功能需求:从文件上传中获取zip流,解压并执行文件到数据库
难点:从request中获取文件对象
解决:利用apache的fileupload组件。
ServletFileUpload upload = new ServletFileUpload();//建立文件上传对象FileItemIterator iter = upload.getItemIterator(request);//request中解析文件组件while(iter.hasNext()){ FileItemStream item = iter.next(); if(item.getContentType().equals("application/x-zip-compressed")){ InputStream in = item.openStream();//打开文件流 ZipInputStream zipIs = new ZipInputStream(in);//创建zip输入流 ZipEntry zipEntry = null;//zip文件的元素 List<String> strList = new ArrayList<String>(); while((zipEntry = zipIs.getNextEntry())!= null){//如果zip的元素项目 BufferedReader br = new BufferedReader(new InputStreamReader(zipIs));//建立读取IO StringBuffer s = new StringBuffer(); String str; while((str = br.readLine()) != null){ s.append(str); } strList.add(s.toString()); zipIs.closeEntry();//读取完成后关闭当前项目 } zipIs.close();//关闭zip流 } }
2创建zip文件导出到OutputStream
功能需求:
在内存中,需要将一些数据导出到zip流,供浏览器端下载。利用java.util.zip包下的文件进行zip文件处理。
首先创建ZipOutputStream,创建不同的zipEntry放入到ZipOutputStream,利用BufferedWriter向里面写数据。
ZipOutputStream zipos = null; zipos = new ZipOutputStream(os);//os是OutputStream,如可以是response.getOutputStream。 BufferedWriter bw = null;//用于向输出流中写数据 bw = new BufferedWriter(new OutputStreamWriter(zipos,"gbk")); ZipEntry zipEntry = new ZipEntry(fileNameValue);//创建zip文件的组件fileNameValue为文件名 zipos.putNextEntry(zipEntry);//将zipEntry放入到输出流中 bw.write(fileContentValue);//用BufferedWriter写入文件内容,会定位到当前的ZipEntry bw.flush(); zipos.closeEntry();//关闭当前ZipEntry
在response
中设置
response.setContentType("application/force-download"); response.setHeader("Content-Disposition", "attachment; filename=\"" + java.net.URLEncoder.encode(fileName + ".zip","UTF-8") + "\""); out = response.getOutputStream();
0 0
- Java处理Zip文件
- Java Zip文件处理
- java 处理 压缩文件zip,压缩 解压缩zip文件
- java 处理zip压缩/解压 文件/目录
- python处理zip文件
- python处理zip文件
- python处理Zip文件
- java处理zip压缩文件
- java对zip文件的解压处理直接访问压缩文件
- java解压zip文件,处理文件名不能为中文
- java 解压缩zip文件
- Java读写Zip文件
- Java压缩zip文件
- java 解压缩zip文件
- Java解压zip文件
- java解压缩zip文件
- java做成 ZIP文件
- java zip文件
- 练手小项目(4)安全卫士——黑名单拦截
- C#简单读写config文件
- 委托和事件学习笔记
- MVC3.0 从客户端(="...")中检测到有潜在危险的 Request.Form 值
- C#多线程
- Java Zip文件处理
- hdu 1358 kmp算法
- Tortoise SVN 客户端 基本用法
- 自定义MVC框架
- xml解析 -- GData
- 老二牛车Oracle PowerDesigner中生成Oracle版本主键和自增列
- OpenGL安装
- 最小公倍数
- Linux守护进程的编程实现