JAVA ZIP压缩打包下载 博客分类: java 技术 zipjava
程序员文章站
2024-03-24 16:53:34
...
引用
java自带的类库,实现zip压缩打包文件下载,注:不支持中文文件名(下面是我的完整下载servlet下载类代码,改下自己的包名即可使用)
package com.kedacom.kdkk.controller.querymanager; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.zip.*; public class BatchDownload extends HttpServlet { public BatchDownload() { super(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition","attachment; filename="+this.getZipFilename()); System.out.println("in BatchDownload................"); ZipOutputStream zos = new ZipOutputStream(response.getOutputStream()); File[] files = new File[2]; files[0]=new File("D:/OptiCM-POC/KDKK3Project/KDKK/images/1.jpg"); files[1]=new File("D:/OptiCM-POC/KDKK3Project/KDKK/images/2.jpg"); zipFile(files, "", zos); zos.flush(); zos.close(); } 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(); } } private String getZipFilename(){ Date date=new Date(); String s=date.getTime()+".zip"; return s; } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
引用
下面是web.xml里面对下载zip servlet的配置
<servlet> <servlet-name>imgZipDownload</servlet-name> <servlet-class>com.kedacom.kdkk.controller.querymanager.BatchDownload</servlet-class> </servlet> <servlet-mapping> <servlet-name>imgZipDownload</servlet-name> <url-pattern>/zipDownload.do</url-pattern> </servlet-mapping>
引用
下面是页面调用servlet
<form action="zipDownload.do" method="post"> <input type="submit" value="下载"/> </form>
推荐阅读
-
java压缩文件或文件夹 博客分类: java开发 zipjava
-
Java 解压缩助手 博客分类: Java zip解压压缩java解压缩ZipArchiveEntry
-
java以zip格式实现压缩解压,有界面 博客分类: javazip界面压缩解压 javazip界面压缩解压
-
java压缩zip文件乱码问题 博客分类: Java JavaZip压缩文件中文乱码乱码
-
java zip解压缩 博客分类: Java zip解压缩compressZipArchiveEntryjava解压缩zip
-
利用java解压.zip的压缩文件 博客分类: J2EE java解压zip
-
JAVA ZIP压缩打包下载 博客分类: java 技术 zipjava
-
java用HttpURLConnection和GZIPInputStream下载gzip压缩的图片 博客分类: java HttpURLConnectionGZIPInputStreamgzip
-
Java实现Zip压缩,解压缩(二) 博客分类: Java codepaper javazipunzip
-
基于SpringMVC的Java Web学习笔记01 - 下载jar 博客分类: 开发技术 webjar