Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java解压zip包到指定文件夹下

作者:★执着唯她   发布日期:2025-06-08   浏览:58

import java.io.*;
import java.util.zip.*;

public class UnzipFile {
    public static void unzip(String zipFilePath, String destDir) {
        File dir = new File(destDir);
        // create output directory if it doesn't exist
        if(!dir.exists()) dir.mkdirs();
        try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFilePath))) {
            ZipEntry ze = zis.getNextEntry();
            while(ze != null){
                String fileName = ze.getName();
                File newFile = new File(destDir + File.separator + fileName);
                // create directories for subdirectories in zip
                new File(newFile.getParent()).mkdirs();
                // if the entry is a file, extracts it
                if (!ze.isDirectory()) {
                    try (FileOutputStream fos = new FileOutputStream(newFile)) {
                        byte[] buffer = new byte[1024];
                        int len;
                        while ((len = zis.read(buffer)) > 0) {
                            fos.write(buffer, 0, len);
                        }
                    }
                }
                zis.closeEntry();
                ze = zis.getNextEntry();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        String zipFilePath = "path/to/your/zipfile.zip";
        String destDir = "path/to/destination/folder";
        unzip(zipFilePath, destDir);
    }
}

解释说明:

  1. 导入必要的包:程序使用了java.io.*java.util.zip.*来处理文件输入输出和ZIP文件解压。
  2. 创建输出目录:如果指定的目标文件夹不存在,程序会自动创建该文件夹。
  3. 读取ZIP文件:使用ZipInputStream读取ZIP文件的内容,并逐个处理每个条目(文件或文件夹)。
  4. 创建子目录:如果ZIP文件中包含子目录,程序会递归创建这些子目录。
  5. 解压文件:对于每个文件条目,程序将其内容写入到目标文件夹中的相应位置。
  6. 异常处理:捕获并打印可能的IO异常。

这个程序可以将指定的ZIP文件解压到指定的目标文件夹中。请根据实际情况修改zipFilePathdestDir的路径。

上一篇:java object类

下一篇:java自定义异常类

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站