`

JAVA ZIP压缩打包下载

阅读更多
引用
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压缩文件,zip打包

    应用java来压缩需要打包的文件,在系统管理中将毛哥路径或者某个文件夹压缩成zip包

    java打包压缩ZIP

    ZIP是一种广泛使用的文件压缩格式,Java提供了一套完整的API来处理ZIP文件,使得我们可以方便地进行打包和解压操作。以下是对这个主题的详细讲解: 一、Java打包压缩ZIP Java中的`java.util.zip`包提供了对ZIP文件...

    java后台批量下载文件并压缩成zip下载的方法

    在Java后台中,批量下载文件压缩成zip下载可以使用Java的文件输入输出流和zip压缩流来实现。首先,需要在Servlet中获取文件列表,然后使用循环将文件一个个添加到zip文件中,最后下载zip文件到本地桌面。 java批量...

    Java多个文件根据URL下载后打包zip导出.zip

    在Java编程中,有时我们需要从网络上下载多个文件并将其打包为一个压缩文件,例如ZIP格式,以便于存储或分发。这个过程涉及到文件I/O操作、网络请求以及压缩算法的使用。以下是对这个场景的详细说明: 1. **网络...

    Java zip 压缩/解压源码

    在Java编程语言中,`zip`格式是一种常用的文件压缩方式,用于将多个文件打包成一个单一的可压缩文件。这个`Java zip 压缩/解压源码`的资源提供了一个简洁易用的API,使得开发者能够方便地对文件进行压缩和解压缩操作...

    java Zip压缩解压

    Java中的Zip压缩与解压是常见的文件操作技术,主要用于数据的存储和传输。Apache Ant的jar包和JUnit单元测试框架在此过程中起到了辅助作用。在Java中处理Zip文件,主要涉及`java.util.zip`包下的几个类,如`...

    javazip压缩类

    JavaZip压缩类是Java编程语言中用于处理ZIP文件格式的核心工具,主要集中在java.util.zip包中。这个包提供了多种类和接口,使得开发者能够轻松地对数据进行压缩和解压缩,尤其是在开发需要处理大量数据的应用时,如...

    java Zip打包完整例子

    Java中的Zip打包主要涉及到对文件或文件夹进行压缩处理,这是一种常见的数据存储和传输方式。在Java中,我们可以使用内置的`java.util.zip`包来实现这个功能。下面将详细介绍如何使用Java进行Zip打包,以及涉及到的...

    Java调用Zip类批量压缩多个文件.rar

     super("用ZIP压缩多个文件"); //调用父类构造函数  fileChooser=new JFileChooser(); //实例化文件选择器  files=new Vector(); //实例化文件数据Vector  fileList=new JList(files); //实例化已选择文件...

    java zip 压缩 解压缩 附带ant.jar

    在本主题中,我们将深入探讨如何使用Java来对文件进行zip压缩和解压缩,并提及`ant.jar`的作用。 首先,让我们来看一下`JavaZip.java`这个文件。它很可能包含了一个示例程序,演示了如何使用Java API来压缩和解压缩...

    java 操作Zip文件(压缩、解压、加密).zip

    - **压缩任务**:Ant中的`zip`任务可以用于创建Zip文件,你可以指定要打包的文件和目录,甚至可以设置压缩级别。 - **解压缩任务**:使用`unzip`任务可以解压缩Zip文件到指定的目标目录。 - **Ant脚本**:Ant通过...

    javaZIP压缩源代码

    javaZIP压缩源代码,可以很方便的进行打包.源码含有详细的注释.

    java zip文件压缩与解压缩

    Java中的zip文件压缩和解压缩是程序开发中常见的任务,特别是在处理大量数据或者打包资源文件时。Apache Commons Compress库是Java中一个强大的工具,它提供了对多种压缩格式的支持,包括zip,而且能够处理中文...

    java中将多个excel打包成zip文件下载.rar

    在Java编程环境中,将多个Excel文件打包成ZIP文件并实现下载功能是一项常见的需求,尤其是在数据导出或批量处理场景中。下面将详细讲解这个过程涉及的主要知识点。 首先,我们需要了解Java中的`java.util.zip`包,...

    java压缩文件以及文件夹

    总之,`ZipCompressor.java`是实现文件和文件夹压缩的关键类,它利用了Java标准库提供的`ZipOutputStream`和`ZipEntry`,通过一系列的步骤,将原始文件和目录打包成ZIP格式的压缩文件。熟悉这些概念和API,开发者就...

    Java实现将多目录多层级文件打成ZIP包,以及解压ZIP包

    本文将详细讲解如何使用Java实现将多目录多层级的文件打成ZIP包,以及如何解压这些ZIP包。我们将主要关注`FileUtils.java`这个类,以及依赖的`commons-compress-1.1.jar`库。 `commons-compress-1.1.jar`是Apache ...

    java 中 zip压缩文件解压工具类

    本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...

    java加密解密zip压缩包

    在Java编程环境中,处理文件的压缩与解压缩是常见的任务,而涉及到安全性,加密和解密就显得尤为重要。本文将详细讲解如何使用Java实现ZIP压缩包的加密与解密。 首先,我们需要理解加密的基本概念。加密是将明文...

    java将文件夹压缩成zip,解压zip压缩包

    本篇文章将详细探讨如何使用Java内置的IO流来实现文件夹的zip压缩以及zip压缩包的解压,无需依赖其他的第三方库如Apache Commons IO或JavaZip。 ### 文件夹压缩成ZIP 首先,我们需要理解如何将一个文件夹及其内容...

Global site tag (gtag.js) - Google Analytics