21xrx.com
2024-09-20 06:07:07 Friday
登录
文章检索 我的文章 写文章
Java实现文件压缩:压缩指定文件夹中的部分文件
2023-06-17 19:53:38 深夜i     --     --
Java 文件压缩 ZipOutputStream

在Java中,使用ZipOutputStream类可以压缩文件或文件夹。但有时候我们只需要将文件夹中的一部分文件压缩到一起,这就需要一些特殊处理。以下是一个Java代码示例,演示如何只压缩指定文件夹中的部分文件。


import java.io.*;

import java.util.zip.*;

public class ZipFiles {

  public static void main(String[] args) throws Exception {

   // 指定要打包的文件夹和压缩后的文件名

   String folderPath = "C:\\Users\\xxx\\Desktop\\test";

   String zipFilePath = "C:\\Users\\xxx\\Desktop\\test.zip";

   

   // 指定要压缩的文件名列表

   String[] fileNames = "test2.txt";

   

   // 创建压缩输出流

   FileOutputStream fos = new FileOutputStream(zipFilePath);

   ZipOutputStream zos = new ZipOutputStream(fos);

   

   // 循环处理每个要压缩的文件

   for (String fileName : fileNames) {

     // 创建输入流

     FileInputStream fis = new FileInputStream(new File(folderPath + "\\" + fileName));

    

     // 创建ZipEntry对象(即压缩包中的一个文件)

     ZipEntry entry = new ZipEntry(fileName);

    

     // 将该ZipEntry对象添加到ZipOutputStream中

     zos.putNextEntry(entry);

    

     // 开始写入该ZipEntry对象的内容

     byte[] buf = new byte[1024];

     int len;

     while ((len = fis.read(buf)) > 0) {

      zos.write(buf, 0, len);

     }

    

     // 关闭当前ZipEntry

     zos.closeEntry();

     fis.close();

   }

   

   // 关闭ZipOutputStream

   zos.close();

  }

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复