[java] ZIP 압축 방법을 사용하여 파일을 압축하는 코드 예제

자바에서 파일을 ZIP으로 압축하는 방법에 대해 살펴보겠습니다.

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class ZipFileExample {

    public static void main(String[] args) {
        String sourceFile = "원본파일.txt";
        String zipFileName = "압축파일.zip";

        try {
            FileOutputStream fos = new FileOutputStream(zipFileName);
            ZipOutputStream zos = new ZipOutputStream(fos);
            addToZipFile(sourceFile, zos);
            zos.close();
            fos.close();
            System.out.println(sourceFile + " 가 " + zipFileName + " 로 압축되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void addToZipFile(String fileName, ZipOutputStream zos) throws IOException {
        File file = new File(fileName);
        FileInputStream fis = new FileInputStream(file);
        ZipEntry zipEntry = new ZipEntry(fileName);
        zos.putNextEntry(zipEntry);
        byte[] bytes = new byte[1024];
        int length;
        while ((length = fis.read(bytes)) >= 0) {
            zos.write(bytes, 0, length);
        }
        zos.closeEntry();
        fis.close();
    }
}

위의 예제는 ZipFileExample 클래스를 사용하여 파일을 ZIP으로 압축하는 방법을 보여줍니다. main 메서드에서는 FileOutputStreamZipOutputStream을 사용하여 ZIP 파일을 생성하고, addToZipFile 메서드에서는 실제 파일을 ZIP 파일에 추가합니다.

이 코드를 실행하면 “압축파일.zip”이라는 이름의 ZIP 파일이 생성되고, 원본파일.txt가 압축 파일에 포함됩니다.

이 방법은 자바에서 파일을 ZIP으로 압축하는 간단한 예제를 보여줍니다. 더 복잡한 시나리오에 대비하여 오류 처리와 예외 처리를 강화할 수 있습니다. 이를 토대로 원하는 기능에 맞게 코드를 수정하면 됩니다.

참고 자료