温馨提示×

java中怎么用gzip压缩多个文件

小亿
246
2024-03-06 16:29:52
栏目: 编程语言

在Java中,可以使用GZIPOutputStream类来压缩多个文件。以下是一个示例代码,用于压缩多个文件:

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

public class GzipMultipleFiles {
    
    public static void main(String[] args) {
        String[] files = {"file1.txt", "file2.txt", "file3.txt"};
        
        try (FileOutputStream fos = new FileOutputStream("compressedFiles.gz");
             GZIPOutputStream gzipOS = new GZIPOutputStream(fos)) {
            
            for (String file : files) {
                try (FileInputStream fis = new FileInputStream(file)) {
                    byte[] buffer = new byte[1024];
                    int len;
                    while ((len = fis.read(buffer)) > 0) {
                        gzipOS.write(buffer, 0, len);
                    }
                }
            }
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,首先定义了一个包含多个文件名的字符串数组。然后创建一个FileOutputStreamGZIPOutputStream对象来将数据写入到压缩文件compressedFiles.gz中。接着通过循环遍历每个文件,使用FileInputStream读取文件内容,并将内容写入到GZIPOutputStream中,实现对多个文件的压缩。最后在异常处理中捕获可能出现的IOException

0