[Java로 압축파일 만들기]

http://forum.falinux.com/zbxe/?document_srl=563459

 

저번 시간에 Java로 압축을 했으니

이번시간에는 압축을 풀어보는 샘플소스입니다.

압축을 풀기 위해서는 저번 시간에 했던거 반대로 하시면 됩니다.

아래와 같이....

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class ZipExtract {

 public static void main(String[] args) {

  try {
   // 압축파일 열기
   String zipfile = "D:\\zipfile\\ab.zip";
   ZipInputStream in = new ZipInputStream(new FileInputStream(
     zipfile));

   // 엔트리 취득
   ZipEntry entry = null;

   while ((entry = in.getNextEntry()) != null) {
    System.out.println(entry.getName() + "에 압축을 풉니다.");

    OutputStream out = new FileOutputStream(entry.getName());

    // 버퍼
    byte[] buf = new byte[1024];
    int len;
    while ((len = in.read(buf)) > 0) {
     out.write(buf, 0, len);
    }
    
    in.closeEntry();
    // out닫기
    out.close();
   }
   in.close();

  } catch (IOException e) {
   e.printStackTrace();
  }

 }
}

"entry.getName()"에 압축했을때 패스와 파일명이 들어있습니다.

다른 폴더나 이름을 변경하고 싶으시면 "entry.getName()"의 값을 가공하시면 됩니다.

간단한 샘플소스였습니다.

감사합니다.