`
lambertsprite
  • 浏览: 11771 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

java 把指定文件夹打包成zip文件

    博客分类:
  • java
 
阅读更多
import java.io.BufferedInputStream;  
import java.io.BufferedOutputStream;  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.util.zip.ZipEntry;  
import java.util.zip.ZipOutputStream;  
/** 
 * 将文件夹下面的文件 
 * 打包成zip压缩文件 
 *  
 * @author admin 
 * 
 */  
public final class FileToZip {  
  
    private FileToZip(){}  
      
    /** 
     * 将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下 
     * @param sourceFilePath :待压缩的文件路径 
     * @param zipFilePath :压缩后存放路径 
     * @param fileName :压缩后文件的名称 
     * @return 
     */  
    public static boolean fileToZip(String sourceFilePath,String zipFilePath,String fileName){  
        boolean flag = false;  
        File sourceFile = new File(sourceFilePath);  
        FileInputStream fis = null;  
        BufferedInputStream bis = null;  
        FileOutputStream fos = null;  
        ZipOutputStream zos = null;  
          
        if(sourceFile.exists() == false){  
            System.out.println("待压缩的文件目录:"+sourceFilePath+"不存在.");  
        }else{  
            try {  
                File zipFile = new File(zipFilePath + "/" + fileName +".zip");  
                if(zipFile.exists()){  
                    System.out.println(zipFilePath + "目录下存在名字为:" + fileName +".zip" +"打包文件.");  
                }else{  
                    File[] sourceFiles = sourceFile.listFiles();  
                    if(null == sourceFiles || sourceFiles.length<1){  
                        System.out.println("待压缩的文件目录:" + sourceFilePath + "里面不存在文件,无需压缩.");  
                    }else{  
                        fos = new FileOutputStream(zipFile);  
                        zos = new ZipOutputStream(new BufferedOutputStream(fos));  
                        byte[] bufs = new byte[1024*10];  
                        for(int i=0;i<sourceFiles.length;i++){  
                            //创建ZIP实体,并添加进压缩包  
                            ZipEntry zipEntry = new ZipEntry(sourceFiles[i].getName());  
                            zos.putNextEntry(zipEntry);  
                            //读取待压缩的文件并写进压缩包里  
                            fis = new FileInputStream(sourceFiles[i]);  
                            bis = new BufferedInputStream(fis, 1024*10);  
                            int read = 0;  
                            while((read=bis.read(bufs, 0, 1024*10)) != -1){  
                                zos.write(bufs,0,read);  
                            }  
                        }  
                        flag = true;  
                    }  
                }  
            } catch (FileNotFoundException e) {  
                e.printStackTrace();  
                throw new RuntimeException(e);  
            } catch (IOException e) {  
                e.printStackTrace();  
                throw new RuntimeException(e);  
            } finally{  
                //关闭流  
                try {  
                    if(null != bis) bis.close();  
                    if(null != zos) zos.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                    throw new RuntimeException(e);  
                }  
            }  
        }  
        return flag;  
    }  
      
    public static void main(String[] args){  
        String sourceFilePath = "D:\\TestFile";  
        String zipFilePath = "D:\\tmp";  
        String fileName = "12700153file";  
        boolean flag = FileToZip.fileToZip(sourceFilePath, zipFilePath, fileName);  
        if(flag){  
            System.out.println("文件打包成功!");  
        }else{  
            System.out.println("文件打包失败!");  
        }  
    }  
      
}  

 

分享到:
评论

相关推荐

    java 实现指定目录下的文件打包zip格式 并指定存放zip包

    java 实现指定目录下的文件打包zip格式 并指定存放zip包

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

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

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

    3. **文件夹打包**:打包文件夹为ZIP文件,我们可以利用`java.util.zip`包中的`ZipOutputStream`和`ZipEntry`类。首先,遍历需要打包的目录,对每个文件创建一个`ZipEntry`,然后通过`ZipOutputStream`将文件内容...

    java 文件夹打包 zip

    这个过程将把`sourcePath`指定的文件夹及其所有内容打包成一个名为`folder.zip`的ZIP文件。 值得注意的是,`Zip`任务默认会保留源文件的相对路径结构。如果希望将所有文件打包到ZIP文件的根目录下,可以设置`...

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

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

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

    Java后台批量下载文件并压缩成zip下载的方法 Java后台批量下载文件并压缩成zip下载的方法是指在Java后台中批量下载文件,并将其压缩成zip文件下载到本地桌面。该方法具有重要的参考价值,感兴趣的小伙伴们可以参考...

    JAVA实现将文件或文件夹压缩成ZIP格式.rar_84U_BJ5_java程序

    在Java编程语言中,将文件或文件夹压缩成ZIP格式是一项常见的任务,尤其在数据传输、备份或存储优化时。本教程将深入讲解如何使用Java实现这一功能,并提供详细的步骤和代码示例。 首先,我们需要了解ZIP文件格式,...

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

    在Java编程中,打包文件为ZIP压缩文件以及解压缩ZIP文件是常见的操作,尤其是在处理大量数据传输或存储时。下面我们将详细探讨这个话题。 首先,Java标准库提供了`java.util.zip`包,它包含了用于处理ZIP文件的类,...

    JAVA打包成.ZIP文件

    在Java编程环境中,打包文件或文件夹为.ZIP格式是一项常见的任务,特别是在开发JAVAWEB项目时。这种操作能够方便地对项目资源进行分发、备份或迁移。以下是一些关于如何使用Java实现这个功能的关键知识点: 1. **...

    java 打包文件(文件夹)为 zip压缩包 java 压缩文件

    在Java编程环境中,打包文件或文件夹到zip压缩包是一项常见的任务,这通常涉及到I/O操作和文件处理。`ZIPUtil`可能是一个自定义的工具类,用于简化这个过程。以下是一些关于如何在Java中实现这个功能的关键知识点: ...

    java压缩文件,zip打包

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

    java压缩文件以及文件夹

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

    JAVA实现把指定文件夹下的所有文件压缩成zip包.rar_CKD_EHZ_live8y7_paid44l

    这个程序将`sourceFolder`指定的文件夹及其所有子目录和文件打包成`zipFile`。`addFolderToZip`方法负责递归地添加文件和子目录到ZIP流中。 总的来说,通过Java提供的API,我们可以方便地实现文件夹的压缩功能,这...

    java实现批量下载 多文件打包成zip格式下载

    在Java编程中,批量下载和将多个文件打包成ZIP格式是一项常见的需求,特别是在处理大量数据或文件时。这里,我们看到一个示例展示了如何在Java中实现这一功能。首先,让我们详细了解一下涉及到的关键知识点。 1. **...

    maven 过滤文件夹打包

    "maven 过滤文件夹打包"这个主题涉及到的是如何利用Maven的资源过滤功能来实现针对不同运行环境的配置文件打包。下面将详细解释这一过程。 在开发环境中,我们通常会有多种配置文件,比如`application-dev....

    ZIP文件解压上传服务器

    ZIP是一种常用的文件压缩格式,它能将多个文件或目录打包成一个单一的压缩文件,便于存储和传输。在Java中,我们可以使用`java.util.zip`包中的类来处理ZIP文件。 1. **读取和解压ZIP文件**: - 使用`java.io....

    java Zip打包完整例子

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

    java打包目录文件为ZIP

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

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

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

    文件夹打包成压缩包工具类:PackToZipUtils.java

    packFileToZip可以将指定目录(tempFileDir)下的所有文件打包成指定zipName的压缩包,保存在tempZipDir中,然后再通过response获取流响应给前端,其中有使用到IOutil工具类,用于将文件通过流写入磁盘,请自行修改...

Global site tag (gtag.js) - Google Analytics