javaで複数のファイルをgzipで圧縮する方法は?

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();
        }
    }
}

上記の例では、まず複数のファイル名を含む文字列配列を定義します。次に、データを圧縮ファイルcompressedFiles.gzに書き込むためにFileOutputStreamとGZIPOutputStreamオブジェクトを作成します。その後、各ファイルをループ処理して、FileInputStreamを使用してファイルの内容を読み取り、内容をGZIPOutputStreamに書き込んで、複数のファイルを圧縮します。最後に、発生したIOExceptionをキャッチするための例外処理が行われます。

bannerAds