`

读取目录下文件打包zip文件

    博客分类:
  • java
zip 
阅读更多


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(); 

 

//直接存入ZipOutputStream 下载
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); 

}  

 

分享到:
评论

相关推荐

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

    总结来说,"Java多个文件根据URL下载后打包zip导出"涉及的技术主要包括:网络请求、文件I/O、文件打包、HTML交互以及异步处理。理解这些知识点,可以帮助开发者构建一个功能完备的文件下载和打包系统。

    jquery打包,生成并下载zip文件

    标题 "jquery打包,生成并下载zip文件" 描述了一个使用jQuery技术在前端将图片文件打包成ZIP文件并供用户下载的场景。这个过程无需后端服务器的介入,从而减轻了服务器的压力并提高了用户体验。让我们详细了解一下这...

    C#实在文件打包Zip

    在.NET框架中,C#提供了一种方便的方式来处理文件打包,特别是将多个文件压缩到一个ZIP文件中。这个过程可以通过System.IO.Compression命名空间中的ZipArchive类来实现。本篇文章将详细讲解如何使用C#来创建ZIP文件...

    将一个目录内的内容打包到zip文件以及将zip文件解压到某个目录(ZipPack).zip

    本资源提供的"将一个目录内的内容打包到zip文件以及将zip文件解压到某个目录(ZipPack).zip"是一个Windows下的C++实现,它利用了zlib库来处理zip文件的相关操作。下面将详细阐述涉及的知识点。 1. **C++编程语言**:...

    java打包目录文件为ZIP

    ### Java 打包目录文件为 ZIP 的实现方法 在 Java 中,经常需要处理文件压缩与解压的操作。本文将详细介绍如何使用 Java 实现目录文件的 ZIP 压缩功能,并提供一个具体的示例代码。 #### 核心概念 1. **Java Zip ...

    生成excel并打包成zip文件

    综上所述,"生成excel并打包成zip文件"这个任务涉及到使用Java编程语言,特别是Apache POI库来生成Excel文件,再结合Java标准库的压缩功能将Excel和文本文件打包成ZIP。整个过程涉及到了文件的创建、写入、压缩和...

    php打包文件zip

    PHP提供了`ZipArchive`类,允许开发者方便地创建、修改和读取ZIP文件。下面我们将详细探讨如何使用PHP的`ZipArchive`类来实现文件夹打包成ZIP压缩包。 首先,确保你的PHP环境已经安装了`zip`扩展。在大多数默认配置...

    php解压rar文件 打包zip文件源码

    本文将详细介绍如何使用PHP来解压RAR文件以及打包ZIP文件,并提供相关源码和Windows环境下的DLL文件支持。 首先,PHP自身并不直接支持RAR格式的处理,但可以通过第三方库如PEAR的`Archive_Rar`来实现。`Archive_Rar...

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

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

    java将文件打包成ZIP压缩文件和解压缩zip文件

    我们先来看看如何将多个文件打包成一个ZIP文件。 1. **打包文件到ZIP** - 首先,创建一个`ZipOutputStream`对象,它需要一个`FileOutputStream`作为参数,指定输出的ZIP文件路径。 - 然后,对于每个要打包的文件...

    C++实现ZIP文件解压

    ZIP文件通常包含一个中央目录,存储了所有压缩文件的元数据,如文件名、时间戳、压缩方法以及在ZIP文件内的位置。此外,每个文件的压缩数据分布在文件的前面部分。 1. **读取ZIP文件头**:解压过程的第一步是识别...

    JAVA打包成.ZIP文件

    `ZipOutputStream`用于创建和写入ZIP文件,而`ZipEntry`代表ZIP文件中的一个条目(可以是单个文件或目录)。 2. **创建ZipOutputStream**:首先,你需要创建一个`FileOutputStream`对象来指向你要创建的ZIP文件。...

    文件以及图片压缩zip并下载.zip

    例如,使用Servlet技术,可以创建一个专门处理下载请求的服务,读取指定的Zip文件并将其响应给客户端。以下是一个简单的Servlet示例: ```java import javax.servlet.*; import javax.servlet.http.*; import java....

    PHP生成压缩文,不带要压缩文件的根目录

    在循环中,我们使用`str_replace()`函数移除文件路径中的根目录,然后使用调整后的路径调用`ZipArchive::addFile()`,这样ZIP文件中的文件就不会带有根目录路径了。 需要注意的是,这种方法适用于文件都在同一根...

    解压zip文件和复制一个目录下所有文件到另一个目录

    本项目聚焦于使用C++来处理文件操作,具体包括解压ZIP文件和复制文件到另一目录。以下是对这些知识点的详细说明: 1. **解压ZIP文件**: ZIP是一种常见的文件压缩格式,它允许将多个文件和目录打包成一个单一的可...

    ZIP打包代码

    例如,可以读取文件的一部分,压缩后写入ZIP文件,然后再继续读取下一部分,直到文件结束。 7. **跨平台兼容性**:由于ZIP格式的通用性,它在各种操作系统上都能很好地工作,包括Windows、Linux和macOS。因此,编写...

    java导出30万数据量的excel(采用生成多个excel,最后打包zip)

    5. **文件打包成ZIP**: Java内置的java.util.zip包提供了ZipOutputStream类,可以用来创建ZIP文件。将生成的多个Excel文件添加到ZipOutputStream,最后生成一个ZIP文件。这样用户只需下载一个ZIP文件,解压后即可...

    cpp-pkg2zip解密PlayStationVitapkg文件并打包成zip文件

    在本篇中,我们将深入探讨如何使用cpp-pkg2zip工具来解密pkg文件并将其打包成zip文件,这是一个与C/C++编程相关的技术实践。 cpp-pkg2zip是一个开源项目,由开发者mmozeiko编写,用于处理PS Vita的pkg文件。这个...

    打包成zip的组件asp

    而在`ExtractFiles()`方法中,我们读取ZIP文件,解压到指定的目录。 3. **使用示例** 创建ZIP文件的代码示例可能如下: ```csharp using System.IO; using System.IO.Compression; public static void ...

    基于jsZip库 解压读取文件 对文件重命名 删除文件 打包文件 下载到本地

    要解压缩ZIP文件,首先需要使用`JSZip.loadAsync`方法读取ZIP文件内容,然后可以遍历ZIP对象的`files`属性来访问每个文件。可以获取文件内容,或者将其保存到本地。 3. **文件重命名** 如果需要重命名文件,可以...

Global site tag (gtag.js) - Google Analytics