자바를 사용 ZipOutputStream이 배치 파일 압축 및 파일 압축은 다른 폴더에 넣고

cn.cnnho.backstage.controller 패키지,
인 java.util.ArrayList의 가져 오기,
가져 오기를 java.util.List;
가져 java.util.zip * ;.
가져 오기는 java.io *;
공용 클래스 테스트 {
/ **
* 압축 파일 우편
* 입력 파일 @param
* @param 아웃 출력 ZIP 명
*의 파라미터 : outEntry 우편 항목 이름
* /
공공 정적 무효 ZIP (문자열에서, ZipOutputStream이 OUT 문자열 outEntry) {
파일 INF는 = 새로운 새 파일 ( )에서,
FileInputStream에 INS;
은 try {
IF (inf.exists ()) {
INS = 새 새로 만들기 FileInputStream에 (INF);

// 주문형 폴더 동적으로 채우는
; out.putNextEntry (새로운 또는 ZipEntry ( "폴더"+ "/"+ outEntry))
INT의 B 단계;
(! (B = ins.read ()) = -1) {그동안
OUT. 쓰기 (B);
}
ins.close ();
}는 다른 {
// 프로젝트는 프롬프트의 부재에서 관리가 필요합니다.
에서 System.out.println ( "시스템 지정한 파일을 찾을 수 없습니다 :"+에서);
}

} 캐치 (FileNotFoundException이 E) {
e.printStackTrace ();
} 캐치 (IOException가 E2) {
; e2.printStackTrace ()
(예외} 캐치를 E3) {
e3.printStackTrace ();
}
}

/ **
*
* @param 아웃 출력 ZIP 명
* 입력 디렉토리에 @param
항목 파라미터 : inEntrys 입력 설정
* /
공공 정적 무효 우편 (문자열 출력, 목록 <문자열> inEntrys에서 문자열) {
{시도
의 OutputStream zipFileName_fileOutputStream = 새로운 FileOutputStream에을 (교체 아웃);
ZipOutputStream이 ZipOutputStream이 새로운 ZipOutputStream이 = (zipFileName_fileOutputStream);
(문자열 inEntry : inEntrys)에 대한 {
(+ inEntry, ZipOutputStream이, inEntry에서) 우편 번호;
}
zipOutputStream.close ();
} 캐치 (예외 전자) {
e.printStackTrace ();
}
}
공공 정적 무효 메인 (문자열 []를 인수) {

일람 <문자열> inEntrys = 새로운 ArrayList를 <문자열> ();
inEntrys.add ( "a.txt이");
inEntrys.add ( "b.txt");
//可以加一个实际没有的文件试试
inEntrys.add ( "c.txt");

지퍼 ( "D : 한 \\ A3의 수 \\.

}
}

추천

출처www.cnblogs.com/guangxiang/p/11427816.html