[java] GZIP 압축 방법을 사용하여 자바 데이터 압축 가용성 확인하기

이번 포스트에서는 자바에서 GZIP를 사용하여 데이터를 압축하는 방법에 대해 알아보겠습니다.

GZIP 압축이란?

GZIP는 파일이나 데이터를 압축하기 위한 알고리즘입니다. 이를 통해 데이터의 사이즈를 줄이고 전송 시간과 저장 공간을 절약할 수 있습니다.

자바에서 GZIP 압축하기

GZIP 압축을 위해 자바에서는 java.util.zip 패키지를 사용할 수 있습니다. 아래는 간단한 예제 코드입니다.

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

public class GZIPExample {
    public static void main(String[] args) {
        String inputString = "압축할 데이터";
        byte[] inputData = inputString.getBytes();

        try {
            FileOutputStream fos = new FileOutputStream("compressed.gz");
            GZIPOutputStream gzipOS = new GZIPOutputStream(fos);
            gzipOS.write(inputData);
            gzipOS.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 GZIPOutputStream을 사용하여 데이터를 GZIP 형식으로 압축한 후 파일에 씁니다.

압축 풀기

위의 예제를 통해 생성된 압축 파일을 풀기 위해서는 GZIPInputStream을 사용할 수 있습니다.

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

public class GZIPExample {
    public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("compressed.gz");
            GZIPInputStream gzipIS = new GZIPInputStream(fis);
            
            byte[] buffer = new byte[1024];
            int len;
            while ((len = gzipIS.read(buffer)) > 0) {
                System.out.print(new String(buffer, 0, len));
            }
            
            gzipIS.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

압축된 파일을 읽어와 GZIPInputStream을 사용하여 데이터를 읽고 출력하는 예제입니다.

결론

이렇게 자바에서 GZIP를 사용하여 데이터를 압축하고 풀 수 있습니다. 데이터의 크기를 줄이고 전송 시간을 절약하기 위해 GZIP를 활용해보세요.

더 많은 정보는 Oracle Java Documentation에서 확인할 수 있습니다.