[java] 자바에서 파일을 압축하는 방법
먼저, 압축할 파일과 압축된 파일의 경로를 지정해야 합니다. 그런 다음 ZipOutputStream
을 사용하여 새로운 ZIP 파일을 생성하고, FileInputStream
으로 파일을 읽어들여 ZipEntry
로 생성한 후 ZipOutputStream
에 써주면 됩니다.
아래는 파일을 압축하는 간단한 예제 코드입니다.
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class FileCompression {
public static void main(String[] args) {
try {
String sourceFile = "example.txt";
FileOutputStream fos = new FileOutputStream("compressed.zip");
ZipOutputStream zipOut = new ZipOutputStream(fos);
File fileToZip = new File(sourceFile);
FileInputStream fis = new FileInputStream(fileToZip);
ZipEntry zipEntry = new ZipEntry(fileToZip.getName());
zipOut.putNextEntry(zipEntry);
byte[] bytes = new byte[1024];
int length;
while ((length = fis.read(bytes)) >= 0) {
zipOut.write(bytes, 0, length);
}
zipOut.close();
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위 코드는 example.txt
파일을 compressed.zip
으로 압축하는 예제입니다. FileCompression
클래스를 실행하면 압축된 파일이 생성됩니다.
이 외에도 여러 가지 방법으로 파일을 압축할 수 있으며, 자바에서는 Apache Commons Compress
라이브러리나 다른 라이브러리를 활용하여 더 강력한 기능을 제공하는 방법도 있습니다.