공개 클래스 UnZipper {
/**
* 파일을 현재 디렉터리에 압축 해제하는 기능은 마우스 오른쪽 버튼을 클릭하여 압축 해제를 선택하는 것과 동일합니다.
* @param zip파일
* @param
* @author 가브리엘
*/
@SuppressWarnings("원시 유형")
public static void unZipFiles(파일 zipFile)이 IOException을 발생시킵니다.
//압축파일이 있는 디렉토리를 구한다
문자열 경로=zipFile.getAbsolutePath();
path=path.substring(0,path.lastIndexOf("//"));
// System.out.println("경로 "+경로);
ZipFile zip = new ZipFile(zipFile);
for(열거 항목 =zip.entries();
항목.hasMoreElements();){
ZipEntry 항목 = (ZipEntry)entries.nextElement();
문자열 zipEntryName = Entry.getName();
InputStream in = zip.getInputStream(entry);
//outPath 출력 디렉터리
String outPath = (path+"//"+zipEntryName).replaceAll("//*", "/");;
//System.out.println("outPath "+outPath);
//경로가 존재하는지 확인하고 존재하지 않으면 파일 경로를 생성합니다.
파일 파일 = new File(outPath.substring(0, outPath.lastIndexOf('/')));
if(!file.exists()){
파일.mkdirs();
}
//파일의 전체 경로가 폴더인지 확인합니다. 위에서 업로드한 경우에는 압축을 풀 필요가 없습니다.
if(new File(outPath).isDirectory()){
계속하다;
}
//파일 경로 정보 출력
System.out.println(outPath);
OutputStream out = new FileOutputStream(outPath);
바이트[] buf1 = 새 바이트[1024];
int len;
while((len=in.read(buf1))>0){
out.write(buf1,0,len);
}
넣다();
종료.닫기();
}
System.out.println("******************압축해제 완료************************** *");
}
공개 정적 무효 메인(String[] args) {
노력하다 {
unZipFiles(new File("D://all//zip//Default.adiumemoticonset.zip"));
} 잡기(IOException e) {
// TODO 자동 생성된 캐치 블록
e.printStackTrace();
}
}
}