[java] GZIP 압축 방법을 사용하여 자바 데이터 압축 해제 여부 확인하기
목차
GZIP으로 데이터 압축
자바에서 GZIP을 사용하여 데이터를 압축하려면 다음과 같이 코드를 작성합니다.
import java.io.*;
import java.util.zip.GZIPOutputStream;
public class GZIPExample {
public static void compressFile(String inputFile, String outputFile) {
try {
FileInputStream fileInputStream = new FileInputStream(inputFile);
FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(fileOutputStream);
byte[] buffer = new byte[1024];
int len;
while ((len = fileInputStream.read(buffer)) > 0) {
gzipOutputStream.write(buffer, 0, len);
}
fileInputStream.close();
gzipOutputStream.finish();
gzipOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 코드는 GZIPExample
클래스에 compressFile
메서드를 정의하고, GZIPOutputStream
을 사용하여 파일을 압축합니다.
GZIP에서 압축 해제
이제 GZIP으로 압축된 데이터를 해제하는 방법을 살펴보겠습니다.
import java.io.*;
import java.util.zip.GZIPInputStream;
public class GZIPExample {
public static void decompressFile(String inputFile, String outputFile) {
try {
FileInputStream fileInputStream = new FileInputStream(inputFile);
GZIPInputStream gzipInputStream = new GZIPInputStream(fileInputStream);
FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
byte[] buffer = new byte[1024];
int len;
while ((len = gzipInputStream.read(buffer)) > 0) {
fileOutputStream.write(buffer, 0, len);
}
gzipInputStream.close();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 코드는 GZIPExample
클래스에 decompressFile
메서드를 정의하고, GZIPInputStream
을 사용하여 파일을 해제합니다.
변경 여부 확인
마지막으로, 압축 해제한 데이터가 변경되었는지 여부를 확인하는 방법을 살펴봅시다.
import java.io.File;
public class GZIPExample {
public static boolean isContentChanged(String originalFile, String decompressedFile) {
File file1 = new File(originalFile);
File file2 = new File(decompressedFile);
return file1.length() != file2.length() || !file1.getName().equals(file2.getName());
}
}
위의 코드는 GZIPExample
클래스에 isContentChanged
메서드를 추가하고, 파일 크기 및 이름을 비교하여 변경 여부를 확인합니다.
이제 자바에서 GZIP을 사용하여 데이터를 압축하고, 압축을 해제하여 데이터가 변경되었는지 확인하는 방법을 자세히 살펴보았습니다.