안녕하세요 오늘은 java로 로컬컴퓨터에 있는 파일들을 zip파일로 압축해 보겠습니다
java.util.zip 기본적으로 제공하는 패키지를 이용하여 zip 파일을 압축할수 있습니다
먼저, 폴더에 파일을 셋팅해줍니다
저는 데스크탑에 무제 폴더란 폴더를 생성하고 그안에 image1.png, image2.png, image3.png를 셋팅하였습니다
이후 ZipEntry, ZipFile, ZipOutputStream 클래스를 사용해 파일들을 zip파일로 압축해줍니다
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
public void makeZip(String filePath, List<String> fileNames) throws Exception{
File zipFile = new File(filePath, "압축파일.zip");
byte[] buf = new byte[4096];
try(ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFile))){
for(String fileName : fileNames){
File file = new File(filePath, fileName);
try(FileInputStream in = new FileInputStream(file)){
ZipEntry zf = new ZipEntry(file.getName());
out.putNextEntry(zf);
int len = 0;
while((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.closeEntry();
}
}
}
}
자바코드 작성후 실행결과 zip파일이 정상적으로 나오는것을 확인할수 있었습니다 다음번엔 더 재미있는 소재로 찾아뵙겠습니다