[java] GZIP 압축 방법을 사용하여 자바 스트림 데이터 압축하기
import java.io.*;
import java.util.zip.GZIPOutputStream;

public class GZipExample {
    public static void main(String[] args) {
        String inputFileName = "input.txt";
        String outputFileName = "output.gz";

        try (FileInputStream fis = new FileInputStream(inputFileName);
             FileOutputStream fos = new FileOutputStream(outputFileName);
             GZIPOutputStream gzipOS = new GZIPOutputStream(fos)) {

            byte[] buffer = new byte[1024];
            int len;
            while ((len = fis.read(buffer)) != -1) {
                gzipOS.write(buffer, 0, len);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예시 코드에서 input.txt 파일은 압축할 대상 파일이고, output.gz 파일은 압축된 결과 파일입니다. GZIPOutputStream 객체를 사용하여 데이터를 읽고 압축한 후, 압축된 데이터를 출력 파일에 작성합니다. 코드를 실행하면 output.gz 파일에 input.txt의 내용이 GZIP 형식으로 압축되어 저장됩니다.

이 방법을 사용하면 자바에서 스트림 데이터를 GZIP으로 압축할 수 있습니다. GZIP을 사용하여 데이터를 압축함으로써 전송 시간을 단축하고 디스크 공간을 절약할 수 있습니다.

참고 문헌: