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

java压缩文件

作者:木の兮   发布日期:2025-09-11   浏览:93

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class ZipExample {
    public static void zipFile(String filePath, String zipFilePath) {
        try {
            // 创建文件输入流
            File fileToZip = new File(filePath);
            FileInputStream fis = new FileInputStream(fileToZip);

            // 创建ZIP输出流
            File zipFile = new File(zipFilePath);
            FileOutputStream fos = new FileOutputStream(zipFile);
            ZipOutputStream zos = new ZipOutputStream(fos);

            // 创建ZIP条目
            ZipEntry zipEntry = new ZipEntry(fileToZip.getName());
            zos.putNextEntry(zipEntry);

            // 缓存字节数组
            byte[] bytes = new byte[1024];
            int length;
            while ((length = fis.read(bytes)) >= 0) {
                zos.write(bytes, 0, length);
            }

            // 关闭资源
            zos.closeEntry();
            zos.close();
            fis.close();
            fos.close();

            System.out.println("文件压缩成功!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        // 示例:将 "example.txt" 压缩为 "example.zip"
        zipFile("example.txt", "example.zip");
    }
}

解释说明:

  1. 导入必要的包:代码中导入了 java.iojava.util.zip 包,用于处理文件输入输出和压缩操作。
  2. zipFile 方法:该方法接收两个参数,分别是待压缩文件的路径 (filePath) 和生成的 ZIP 文件路径 (zipFilePath)。
  3. 创建文件输入流:使用 FileInputStream 打开待压缩的文件。
  4. 创建 ZIP 输出流:使用 FileOutputStreamZipOutputStream 创建一个新的 ZIP 文件,并准备写入数据。
  5. 创建 ZIP 条目:使用 ZipEntry 创建一个 ZIP 条目,表示 ZIP 文件中的一个文件。
  6. 读取并写入数据:通过循环读取原始文件的数据,并将其写入 ZIP 文件中。
  7. 关闭资源:确保所有打开的流都正确关闭,以避免资源泄漏。
  8. main 方法:提供了一个简单的示例,演示如何调用 zipFile 方法来压缩文件。

希望这段代码和解释对你有帮助!

上一篇:java命名

下一篇:java跳出本次循环

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

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

Laravel 中文站