[java] GZIP 압축 방법을 사용하여 디렉토리를 압축하는 코드 예제
먼저 Java에서 디렉토리를 GZIP으로 압축하는 방법에 대해 알아보겠습니다.
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;
public class GzipDirectory {
public static void main(String[] args) {
String sourceDir = "path/to/source/dir";
String targetGzFilePath = "path/to/target/file.gz";
try {
File sourceDirFile = new File(sourceDir);
String[] files = sourceDirFile.list();
FileOutputStream fos = new FileOutputStream(targetGzFilePath);
GZIPOutputStream gzipOS = new GZIPOutputStream(fos);
for (String file : files) {
File currentFile = new File(sourceDir + File.separator + file);
FileInputStream fis = new FileInputStream(currentFile);
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) > 0) {
gzipOS.write(buffer, 0, len);
}
fis.close();
}
gzipOS.finish();
gzipOS.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위 예제는 지정된 디렉토리의 모든 파일을 GZIP으로 압축하여 하나의 .gz 파일로 생성하는 Java 코드입니다.
참고문헌: