Java로 압축 파일을 만드는 샘플소스입니다.

압축을 하기위해서는 java.util.zip.ZipEntry, java.util.zip.ZipOutputStream을 사용해서 압축을 합니다.

 

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


public class MakeZip {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  // 압축할 파일에 포함시킬 파일들
      String[] files = new String[]{"D:\\zipfile\\a.txt", "D:\\zipfile\\b.txt"};
     
      // 파일을 읽기위한 버퍼
      byte[] buf = new byte[1024];
     
      try {
          // 압축파일명
          String zipName = "D:\\zipfile\\ab.zip";
          ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipName));
     
          // 파일 압축
          for (int i=0; i<files.length; i++) {
              FileInputStream in = new FileInputStream(files[i]);
     
              // 압축 항목추가
              out.putNextEntry(new ZipEntry(files[i]));
     
              // 바이트 전송
              int len;
              while ((len = in.read(buf)) > 0) {
                  out.write(buf, 0, len);
              }
     
              out.closeEntry();
              in.close();
          }
     
          // 압축파일 작성
          out.close();
      } catch (IOException e) {
       e.printStackTrace();
      }
 }

}

 

다음 시간에는 압축풀기를 해보겠습니다.

감사합니다.