[java] 자바에서 텍스트 파일을 압축하는 방법
자바에서 텍스트 파일을 압축하려면 java.util.zip
패키지에서 제공하는 ZipOutputStream
클래스를 사용할 수 있습니다. 이 클래스를 사용하면 텍스트 파일을 압축하여 새로운 zip 파일을 생성할 수 있습니다.
다음은 자바에서 텍스트 파일을 압축하는 예제 코드입니다.
import java.io.*;
import java.util.zip.*;
public class FileCompressor {
public static void main(String[] args) {
String sourceFile = "example.txt";
String compressedFile = "example.zip";
try {
// 파일 입력 스트림 생성
FileInputStream fis = new FileInputStream(sourceFile);
// 압축 스트림 생성
FileOutputStream fos = new FileOutputStream(compressedFile);
ZipOutputStream zipOut = new ZipOutputStream(fos);
// 압축 파일 엔트리 생성
ZipEntry zipEntry = new ZipEntry(sourceFile);
zipOut.putNextEntry(zipEntry);
// 버퍼 설정
byte[] bytes = new byte[1024];
int length;
// 텍스트 파일 읽어서 압축 파일에 기록
while ((length = fis.read(bytes)) >= 0) {
zipOut.write(bytes, 0, length);
}
// 입출력 스트림 닫기
fis.close();
zipOut.close();
fos.close();
System.out.println("텍스트 파일이 성공적으로 압축되었습니다.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 예제 코드에서 sourceFile
변수에 압축할 텍스트 파일의 경로를, compressedFile
변수에 압축된 파일을 저장할 경로와 파일 이름을 지정합니다. 해당 경로에 압축된 zip 파일이 생성됩니다.
압축할 텍스트 파일을 읽고, ZipOutputStream
을 사용하여 압축 파일을 생성하는 과정을 보여주고 있습니다. 필요한 경우 예외 처리를 추가하여 에러 상황을 처리할 수 있습니다.
이 예제 코드를 실행하면 텍스트 파일이 성공적으로 압축되었음을 확인할 수 있습니다.