[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을 사용하여 데이터를 압축함으로써 전송 시간을 단축하고 디스크 공간을 절약할 수 있습니다.
참고 문헌:
- Oracle Java Documentation: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/zip/package-summary.html