`
cnjarchen
  • 浏览: 43512 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

压缩文件夹

阅读更多
//实现功能:将D:/upload文件夹的所有内容压缩到d:/test.zip
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;

public class ZipTest {

    public static void makeZipfile(File file,String dir,ZipOutputStream zout) throws Exception{
         //定义文件位置
        if(dir.length()>0){
            dir = dir + "/" + file.getName();
        }else{
             dir = dir + file.getName();
        }

        if(file.isDirectory()){
           File[] files = file.listFiles();
           int i = 0;
           while(i<files.length){
               makeZipfile(files[i],dir,zout);
                i++;
            }
        }else{
            byte[] data = new byte[256];
            FileInputStream fin = new FileInputStream(file);
            BufferedInputStream bin = new BufferedInputStream(fin,256);
            ZipEntry entry = new ZipEntry(dir);
            zout.putNextEntry(entry);
            int b;
            while((b=bin.read(data,0,256))!=-1){
                zout.write(data,0,b);
            }
            fin.close();
            bin.close();  
       }
    }
    
    public static void main(String[] args){
        try {
                File file = new File("D:/upload");
                FileOutputStream fout = new FileOutputStream("d:/test.zip");
                BufferedOutputStream bout = new BufferedOutputStream(fout);
                ZipOutputStream zout = new ZipOutputStream(bout);
                makeZipfile(file,"",zout);
                zout.close();
                bout.close();
                fout.close();
        }catch (Exception e) {
            e.printStackTrace();
        }
    }

}
分享到:
评论

相关推荐

    zip文件夹压缩文件夹压缩文件夹压缩 C++

    2. **文件遍历**:在压缩文件夹时,需要遍历文件夹内的所有文件和子文件夹。这可以通过递归函数来实现,对每个找到的文件调用压缩算法。 3. **压缩算法**:常见的压缩算法有LZ77(如gzip)、DEFLATE(如ZIP)和...

    易语言模块压缩文件夹.rar

    在这个"易语言模块压缩文件夹.rar"中,我们可以推测包含了一些易语言的扩展模块,这些模块可能是为了方便开发者处理文件压缩相关的功能。 文件压缩在计算机领域是一项基本技术,它可以帮助我们减小文件体积,便于...

    7z批量压缩文件夹的小程序

    7z批量压缩文件夹 请正确默认安装7z程序 然后把下载的资源放置到需要压缩的文件夹同一个目录里 例如当前目录里有1 2 3 4等文件夹。把程序放到一起。运行程序,稍等会自动压缩好1 2 3 4文件夹压缩包

    php 压缩文件夹压缩程序

    - 在压缩文件夹时,避免压缩正在被其他进程使用的文件,以免出现错误。 - 大文件或大量文件的压缩可能会消耗较多系统资源,注意性能优化。 - 如果需要加密压缩文件,`ZipArchive`类提供了一些选项可以设置密码...

    VB6.0调用 DLL版ZIP压缩文件夹目录和解压ZIP文件

    VB6.0调用 DLL版ZIP压缩文件夹目录和解压ZIP文件,网上很多源码不好用,所以就自己做了一个。原始代码是VC++的用VS2019编译了一个,DLL封装了下。调用很简单 '调用方法如下: 'CreateZipFileA "C:\123", "C:\123.zip...

    .net采用SharpZipLib压缩文件夹及文件(类及库文件)

    要使用SharpZipLib压缩文件夹和文件,首先你需要在项目中引用该库。如果你已经有一个名为"SharpZipLib.dll"的文件,可以通过以下步骤将其添加到项目中: 1. 右键点击你的项目,选择“管理NuGet程序包”。 2. 在...

    Java代码 可以压缩文件夹到指定目录和指定名称,将文件或者文件夹中的文件转成base64格式

    在Java编程语言中,压缩文件夹到指定目录和指定名称是一项常见的任务,这通常涉及到对文件系统的操作和使用压缩库。Java提供了多种方法来实现这一功能,比如使用内置的`java.util.zip`包或者第三方库如Apache ...

    C#压缩文件夹源代码

    C#压缩文件夹源代码!C#压缩文件夹源代码!

    javascript 实现压缩文件夹

    这里通过 `runRar` 函数调用WinRAR的命令行版本来压缩文件夹,`test.tar` 是压缩后的文件名。 ### 5. 下载压缩文件 为了实现下载功能,代码中定义了 `savetxt` 函数,该函数调用 `runRar` 进行压缩,然后使用...

    .net压缩文件或压缩文件夹源码及详细操作文档

    .NET框架提供了一套丰富的类库,使得开发人员可以轻松地进行文件和文件夹的压缩操作。在.NET中,主要依赖System.IO.Compression命名空间下的ZipFile类来实现压缩和解压缩功能。本压缩包包含了一个完整的.NET源码实现...

    PHP压缩文件夹

    当我们需要处理文件或数据的备份、迁移时,压缩文件夹的功能就显得尤为重要。"PHP压缩文件夹"这个主题,主要涉及到PHP如何实现对文件夹进行压缩的操作。这通常涉及到PHP的Zip扩展库,它可以让我们轻松地创建、读取和...

    使用QZipWriter来递归地压缩文件夹

    总结起来,使用QZipWriter递归地压缩文件夹,需要以下几个步骤: 1. 创建QFile对象并打开指向ZIP文件。 2. 初始化QZipWriter对象,关联到ZIP文件。 3. 遍历源文件夹,获取所有文件和子文件夹的信息。 4. 对于每个...

    C#压缩文件夹(所有文件及文件夹)

    对文件夹下的所有子目录及所有文件进行压缩和解压,需在一起使用,有需要的可以下载下

    C#压缩文件夹的类

    压缩文件夹 public void ZipFolder(string zipFilepath)//用来执行实际的压缩操作。在这个方法里面创建一个Package的实例 { using (Package package = Package.Open(zipFilepath, FileMode.Create)) { ...

    JAVA压缩文件夹(压缩文件)

    JAVA实现的压缩文件夹、文件的程序,使用的时候,请把代码中的package语句改成相应的包名,或者直接删除,使用默认的包名。

    运用java压缩文件夹并备份至目标文件夹

    本文将详细讲解如何运用Java来实现文件夹的压缩,并将其备份到目标文件夹。首先,我们需要了解Java中用于处理压缩文件的核心库——`java.util.zip`。 在Java中,我们可以使用`ZipOutputStream`类来创建ZIP压缩文件...

    C#压缩文件夹

    在C#编程中,压缩文件夹是一项常见的任务,特别是在数据备份、文件传输或者软件分发等场景中。本文将深入探讨如何使用C#实现文件夹的压缩和压缩加密功能。 首先,C#本身并没有内置的文件压缩库,但可以通过.NET ...

    Bat批处理压缩文件夹

    对一些大批量文件夹(文件夹中存在文件),需要进行批处理压缩,需要进行编写bat程序进行处理。有需要的同学,可以在此进行下载使用,不符合要求的,百度自己写。

    C#解压缩文件夹保存目录结构

    本篇文章将深入探讨如何使用C#来解压缩文件夹,并在解压过程中保持原有的目录结构。这对于处理包含多层子目录和文件的压缩包至关重要,因为它允许我们能够按照压缩前的布局恢复文件。 首先,我们需要了解C#中用于...

Global site tag (gtag.js) - Google Analytics