`
zyslovely
  • 浏览: 231161 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java 生成zip压缩文件

 
阅读更多
package com.wyebd.publicuse;
import java.io.*;
import java.util.zip.*;

public class FileZip {

/**
  * 压缩一层目录下的所有文件或压缩单个文件
  * @param filePath 要压缩的文件路径 (单个文件需含文件名)
  * @param toFilePath 压缩后的文件路径 含文件名
  * @param isDelete 是否删除原路径 true为删除 false为不删除
  */
public void zip(String filePath,String toFilePath,boolean isDelete){
  File file=new File(filePath);
  if(file.isDirectory()){//是否为文件目录,是为true
  zipFiles(filePath,toFilePath);
  if(isDelete){
   String[] files=file.list();
   for(int i=0;i<files.length;i++){
   File f=new File(filePath+"//"+files[i]);
   f.delete();
  }
   file.delete();
  }
  }else{
  zipFile(filePath,toFilePath);
  if(isDelete){
   file.delete();
  }
  }
 
}
/**
  * 压缩某路径的单个文件
  * @param filePath 要压缩的文件的路径(含文件名 如:d://tt.txt)
  * @param zipname 压缩后的路径(含压缩后文件名 如:d://tt.zip)
  */
private void zipFile (String filePath,String zipname){
  FileOutputStream fos=null;
     ZipOutputStream zipOut=null;
   
     try {
         fos = new FileOutputStream(zipname);//创建文件输出流(低级流)
         zipOut = new ZipOutputStream(fos);//创建zip文件输出流
       
             File f = new File(filePath);
             FileInputStream fis = new FileInputStream(filePath);
             ZipEntry ze = new ZipEntry(f.getName());
             zipOut.putNextEntry(ze);
             int c = 0;
             while ((c = fis.read()) != -1) {
                 zipOut.write(c);
             }
             fis.close();

        
         zipOut.close();
     } catch (FileNotFoundException ex) {
         ex.printStackTrace();
     } catch (IOException ex) {
         ex.printStackTrace();
     }

}
/**
  * 压缩某路径下所有文件
  * @param filePath 要压缩的路径
  * @param zipname 压缩后的路径(含压缩后文件名 如:d://tt.zip)
  */
private void zipFiles (String filePath,String zipname){
  FileOutputStream fos=null;
     ZipOutputStream zipOut=null;
     String[] files=(new File(filePath)).list();
     try {
         fos = new FileOutputStream(zipname);//创建文件输出流(低级流)
         zipOut = new ZipOutputStream(fos);//创建zip文件输出流
         int i = 0;

         for (i = 0; i < files.length; i++) {
             File f = new File(files[i]);
             FileInputStream fis = new FileInputStream(filePath+"//"+files[i]);
             ZipEntry ze = new ZipEntry(f.getName());
             zipOut.putNextEntry(ze);
             int c = 0;
             while ((c = fis.read()) != -1) {
                 zipOut.write(c);
             }
             fis.close();

         }
         zipOut.close();
     } catch (FileNotFoundException ex) {
         ex.printStackTrace();
     } catch (IOException ex) {
         ex.printStackTrace();
     }

}
/**
  * @param args
  */
public static void main(String[] args) {
             fz.zip("e://ww","d://tt.zip",false);

//         fz.zip("e://tt.txt","d://tt.zip",false);


} catch (Exception e) {
   e.printStackTrace();
  }
}

}
分享到:
评论

相关推荐

    基于Java向zip压缩包追加文件

    在Java编程中,向现有的ZIP压缩包追加文件通常需要经过解压、修改、再压缩的步骤,因为标准的Java ZIP库(如`java.util.zip`包)并不直接支持追加到已存在的ZIP文件。本篇文章将深入探讨如何实现这个功能,主要关注...

    java生成.zip包,解压缩.zip

    最后,`生成zip包代码.txt`和`解压缩zip包.txt`文件可能包含了具体的实现代码,而`需要用的jar包`可能是指在某些情况下,如使用第三方库时,可能需要引入额外的依赖项。例如,如果使用了Apache Commons Compress库,...

    java压缩文件生成带密码的zip包,解压带密码的zip包的工具类

    * @param zipFile 指定的ZIP压缩文件 * @param dest 解压目录 * @param passwd ZIP文件的密码 * @return 解压后文件数组 * @throws ZipException 压缩文件有损坏或者解压缩失败抛出 */ 方法详细见文件! 一个...

    java生成PDF 然后加密压缩文件

    前段时间由于项目需要,使用java生成PDF文件,然后将文件压缩成ZIP格式,同时对压缩文件进行加密,先将代码及jar包上传供大家参考,并希望大家共同完善和学习。 java生成PDF,java加密压缩文件并,java生成PDF后压缩...

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

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

    java如何生成压缩文件jar.zip

    在Java编程环境中,生成压缩文件,如`.jar`或`.zip`,是常见的需求,尤其在打包和分发应用程序时。下面将详细讲解如何使用Java来创建`.jar`和`.zip`格式的压缩文件。 首先,`.jar`文件是Java档案(Java Archive)...

    java压缩文件源码--ZipUtils

    // 设置压缩文件入口entry,为被读取的文件创建压缩条目 File tempFile = new File(fileArray[i].toString()); String rootStr = file.getPath(); String entryStr = null; // entry以相对路径的...

    使用Java向服务器上传文件压缩包并实现解压缩

    在这个场景中,我们关注的是如何使用Java来实现文件压缩包的上传以及在服务器上的解压缩。Java作为一种强大的编程语言,提供了丰富的库来支持这样的操作,特别是在涉及到SFTP(Secure File Transfer Protocol)时,...

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

    这个库简化了在Java中处理压缩文件的过程,提供了丰富的API供开发者使用。 首先,我们来看`FileUtils.java`中的主要方法。通常,这个类会包含两个核心功能:`zipFiles()`用于创建ZIP包,`unzipFile()`用于解压ZIP包...

    zip带密码压缩解压缩工具类(java)

    在Java编程环境中,处理压缩和解压缩文件是一项常见的任务,特别是在数据传输、文件备份或存储优化等场景。本文将深入探讨如何使用`zip4j`库来实现带密码的ZIP文件压缩与解压缩,该库支持中文文件名,并且具有良好的...

    java生成PDF,java加密压缩文件

    前段时间由于项目需要,使用java生成PDF文件,然后将文件压缩成ZIP格式,同时对压缩文件进行加密,先将代码及jar包上传供大家参考,并希望大家共同完善和学习。 java生成PDF,java加密压缩文件并,java生成PDF后压缩...

    java压缩文件以及文件夹

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

    java POI生成word.zip

    在本案例中,"java POI生成word.zip"是一个压缩包,包含使用Java POI库生成Word文档的示例代码。以下是基于这个主题的相关知识点: 1. **Java POI库介绍** - Java POI 是一套API,用于处理Microsoft Office格式的...

    将文件进行zip压缩并base64加密和解密

    ZIP是一种流行的文件格式,用于将一个或多个文件打包成一个单一的压缩文件,以节省存储空间和提高传输效率。在Java中,我们可以使用`java.util.zip`包中的`ZipOutputStream`和`ZipEntry`类来实现文件的压缩。以下是...

    利用Java实现zip压缩解压缩

    - **`ZipOutputStream`**:用于创建 ZIP 格式的压缩文件。 - **构造方法**: - `public ZipOutputStream(OutputStream out)`: 构造一个指向指定 `OutputStream` 的 `ZipOutputStream` 对象。 - **常用方法**: -...

    windows 下java调用winrar压缩文件为rar 格式

    要在Java中处理RAR格式的压缩文件,由于Java标准库不直接支持RAR格式,我们需要引入第三方库。一个常用的库是`com.igormaznitsa:nativesharp-jni`,它封装了WinRAR的API,使得Java可以调用WinRAR的功能。安装该库后...

    java+pdf生成.zip

    Java生成PDF文件是一种常见的技术需求,特别是在开发报告生成、电子发票、文档自动化等领域。PDF(Portable Document Format)格式因其跨平台、保持原始样式的特点而被广泛使用。在Java环境中,有多个库可以帮助...

    java 下载文件 压缩且删除源文件(支持文件夹与文件)

    zip,然后下载删除源文件与压缩文件。 3、可以指定文件都为最后生成为zip文件下载,且删除源文件。 1、压缩文件或者目录(只是压缩不删除):zipFileOrDirectory 2、程序自动判断如果是文件那么就是源文件下载,...

    CSV文件生成及Z压缩成zip下载

    分步生成csv,获取数据第一行生成文件标题,同时生成第一行数据,返回标题名称。 将多csv文件压缩成zip,之后删除原csv文件

Global site tag (gtag.js) - Google Analytics