`

解压zip文件

    博客分类:
  • Java
阅读更多
public class UnzipFile {  
  
    /** 
     * 解压zip文件 
     *  
     * @param targetPath  文件解压后的路径
     * @param zipFilePath  文件的绝对路径
     */  
    public void unzipFile(String targetPath, String zipFilePath) {  
  
        try {  
            File zipFile = new File(zipFilePath);  
            InputStream is = new FileInputStream(zipFile);  
            ZipInputStream zis = new ZipInputStream(is);  
            ZipEntry entry = null;  
            System.out.println("开始解压:" + zipFile.getName() + "...");  
            //开始解压
           while ((entry = zis.getNextEntry()) != null) {  
                String zipPath = entry.getName(); 
                System.out.println("entry.getName() = "+entry.getName());
               try {  
            	   //判断压缩文件内是目录还是文件
                    if (entry.isDirectory()) 
                    {  //如果是目录,创建它
                        File zipFolder = new File(targetPath + File.separator  
                                + zipPath);  
                        if (!zipFolder.exists()) {  
                            zipFolder.mkdirs();  
                        }  
                    } 
                    else 
                    {  //如果是文件则将其读出
                       File file = new File(targetPath + File.separator  
                               + zipPath);  
                        if (!file.exists()) {  
                            File pathDir = file.getParentFile();  
                           pathDir.mkdirs();  
                           file.createNewFile();  
                       }  

                      FileOutputStream fos = new FileOutputStream(file);  
                        int bread;  
                        while ((bread = zis.read()) != -1) {  
                           fos.write(bread);  
                        }  
                        fos.close();  
  
                    }  
                   System.out.println("成功解压:" + zipPath);  
  
                } catch (Exception e) {  
                    System.out.println("解压" + zipPath + "失败");  
                  continue;  
                }  
            }  
            zis.close();  
            is.close();  
           System.out.println("解压结束");  
        } catch (Exception e) {  
           e.printStackTrace();  
        }  
  
    }  
 
    /** 
     * @param args 
     */  
   public static void main(String[] args) {  
	    String path = System.getProperty("user.dir"); //取得当前项目的根目录
	    System.out.println(path);
        String targetPath = path+"\\tmp";   //文件解压后的路径
        String zipFile = "D:\\tmp\\田.zip";  //文件的绝对路径
        UnzipFile unzip = new UnzipFile();  
        unzip.unzipFile(targetPath, zipFile);  
    }  
  
}  
分享到:
评论

相关推荐

    C++语言用zlib库解压zip文件

    在这个例子中,`unzOpen`用于打开zip文件,`unzGoToFirstFile`和`unzGoToNextFile`遍历文件,`unzGetCurrentFileInfo`获取文件信息,`unzReadCurrentFile`读取并解压缩文件内容,最后`unzClose`关闭zip文件。...

    delphi解压ZIP文件

    Delphi 的 VCL (Visual Component Library) 提供了一组用于文件压缩与解压缩的组件,其中 `TVCLUnZip` 类尤其适用于解压ZIP格式的文件。该类封装了所有解压所需的底层细节,使开发者能够以简洁的方式实现解压功能。 ...

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

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

    PHP在线压缩解压ZIP文件

    unzip.php可能包含了处理ZIP文件解压的逻辑,包括读取ZIP文件、检查密码、解压缩文件到服务器指定位置等步骤。而zip.php则可能负责文件的压缩操作,它需要遍历要打包的文件和目录,创建新的ZIP文件,并将文件添加到...

    IOS 解压zip 文件

    - 解压ZIP文件:创建一个`ZipFile`实例,然后遍历其中的`Entry`,逐个解压缩到目标目录。 ```swift import ZipFoundation let zipFile = try ZipFile(url: URL(fileURLWithPath: "path/to/your/zipfile.zip")) ...

    文件解压缩,压缩源码c#,net4.0

    3. 解压缩文件:解压缩文件则需要使用ZipFile或SevenZipExtractor类。通过遍历压缩文件中的每个条目,然后读取并写入到目标位置。 ```csharp using ICSharpCode.SharpZipLib.Zip; // 解压缩ZIP文件 using ...

    C语言实现Zip压缩解压.rar

    对于压缩,可以调用`zip_entry_open()`,`zip_entry_write()`和`zip_entry_close()`来写入新的压缩文件。 在实现过程中,需要注意错误处理,确保程序的健壮性。同时,为了提高效率,可以考虑使用多线程技术对大文件...

    php在线解压ZIP文件程序

    在我们的场景中,我们需要使用`open()`方法来打开ZIP文件,`extractTo()`方法来解压缩文件,并且可能需要`close()`方法来释放资源。 1. **打开ZIP文件**: 使用`ZipArchive::open()`方法打开ZIP文件,它返回一个...

    c# 解压zip完整demo 带进度条

    综上所述,这个"C# 解压zip完整demo 带进度条"涵盖了C#中处理ZIP文件的基本步骤,包括打开ZIP档案、遍历条目、解压缩文件、使用进度条以及错误处理。通过理解这些概念,开发者可以构建出高效且用户友好的解压缩应用...

    VC++ MFC 如何用 CZip CUnzip类压缩解压缩文件

    本文将详细介绍如何使用CZip和CUnzip类来处理文件的压缩与解压缩任务。 首先,我们需要了解CZip和CUnzip类的基本概念。CZip类提供了创建、打开、添加、删除和提取ZIP文件的功能,而CUnzip类则负责从ZIP文件中提取...

    C# Zip解压缩文件

    3. 解压缩文件:以下是一个简单的解压缩文件的示例: ```csharp public static void UnzipFile(string zipFilePath, string destinationDirectory) { if (!File.Exists(zipFilePath)) { throw new ...

    unity 解压缩文件zip类库

    首先,"unity 解压缩文件zip类库"指的是Unity中用于处理ZIP文件的库,这通常涉及到第三方库的集成,因为Unity本身并不内置直接解压ZIP文件的功能。一个常见的选择是使用开源库ICSharpCode.SharpZipLib,这个库在...

    RAR使用命令行解压rar\zip文件

    值得注意的是,在解压ZIP文件时需要指定`-epzip`参数。 #### 八、总结 通过上述内容,我们可以看到使用WinRAR的命令行工具进行文件压缩和解压缩是非常灵活且高效的。不仅可以自定义压缩等级和分卷大小,还能轻松...

    解压ZIP文件,通用解压器

    Java提供了强大的标准库支持来处理ZIP文件,包括压缩与解压缩功能。这里主要介绍如何使用`java.util.zip`包中的类来进行解压操作。 #### 使用的关键类 1. **`ZipInputStream`**:用于读取ZIP压缩文件。 2. **`Zip...

    C#压缩/解压ZIP文件带密码功能

    2. **解压缩文件**: - `ZipFile.ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName)`: 这个方法可以将ZIP文件解压缩到指定的目录。 - `ZipFile.OpenRead(string ...

    C#解压ZIP文件

    在.NET框架中,C#程序员可以使用各种库来处理压缩文件,其中一个是 Ionic.Zip,也被称为DotNetZip库。这个库允许我们方便地创建、读取、修改和解压ZIP文件,而无需依赖任何外部软件,如WinRAR或7-Zip。在Windows ...

    JAVA文件压缩与解压缩实践,java解压缩zip文件,Java源码.zip

    3. **解压缩文件** 解压ZIP文件则需要一个`ZipInputStream`实例,它包装在一个`FileInputStream`中,指向ZIP文件。通过调用`getNextEntry`方法,你可以逐个访问ZIP文件中的每个条目,然后创建相应的文件或目录,将...

    Java实现的带密码压缩与解压zip文件源码

    `ZipOutputStream`用于创建ZIP文件,而`ZipInputStream`则用于读取和解压ZIP文件。为了添加密码保护,我们需要在创建`ZipOutputStream`时设置一个密码。 1. **密码保护**:在压缩过程中,可以使用`ZipEntry`对象来...

    测试 Qt 使用Quazip 压缩/解压ZIP文件 的可执行程序案例,不是源码

    - **解压缩文件**:使用`QuaZip`类的`open()`方法打开ZIP文件,然后通过`QuaZipFile`来读取并解压单个文件或整个目录。例如: ```cpp QuaZip zip("archive.zip"); if (!zip.open(QuaZip::mdUnzip)) { // 处理...

    简单解压缩文件代码(c#)

    "简单解压缩文件代码(c#)"的标题表明我们将探讨如何使用C#来实现一个基础的解压缩功能。下面将详细介绍这个主题。 首先,我们需要了解.NET框架提供的System.IO.Compression命名空间,它包含了处理压缩文件的基本类...

Global site tag (gtag.js) - Google Analytics