import java.io.*;
import java.util.*;
import java.util.zip.*;/**
 * @author JCC
 *
 * 更改所生成类型注释的模板为
 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 */
public class ZipCompress { public static void main(String[] args) 
throws Exception{
String FileName ="d:\\testPkg.zip" ;
String FileName1 ="d:\\test1.txt" ;
String FileName2 ="d:\\test2.txt" ;
FileOutputStream f = new FileOutputStream(FileName) ; 
CheckedOutputStream csum = new CheckedOutputStream(f , new Adler32()) ;
ZipOutputStream zos = new ZipOutputStream(csum) ;
//BufferedOutputStream out = new BufferedOutputStream(zos) ;

//zos.setComment("zos.setcommment") ;
BufferedReader in = new BufferedReader(new FileReader(FileName1)) ;
BufferedReader in2 = new BufferedReader(new FileReader(FileName2)) ;
zos.putNextEntry(new ZipEntry("test1.txt")) ;
int c ;
while((c=in.read())!=-1)
zos.write(c) ;
in.close() ;
//out.close() ;
//the second file
zos.putNextEntry(new ZipEntry("test2.txt")) ;
int c2 ;
while((c2=in2.read())!=-1)
zos.write(c2) ;
in2.close() ;
zos.close();
//out.close() ;
System.out.println("checksum:"+csum.getChecksum().getValue()) ;
FileInputStream fi = new FileInputStream("d:\\testpkg.zip") ;
CheckedInputStream csumi = new CheckedInputStream(fi , new Adler32()) ;
ZipInputStream zin2 = new ZipInputStream(csumi) ;
BufferedInputStream bis = new BufferedInputStream(zin2) ;
ZipEntry ze ;
while((ze = zin2.getNextEntry())!=null){
System.out.println(ze) ;
int x ;
while((x=bis.read())!=-1){
System.out.println((char)x) ;
}
}
 
}}