import java.util.zip.*;import java.io.*;class zipTest...{ public static void zip(ZipOutputStream out,File f,String base) throws Exception ...{ System.out.println("Ziping..........."); if(f.isDirectory()) ...{ File[] file=f.listFiles(); out.putNextEntry(new ZipEntry(base+"/")); base=base.length()==0?"":base+"/"; for(int i=0;i<file.length;i++) ...{ zip(out,file[i],base+file[i].getName()); } }else ...{ FileInputStream fis=new FileInputStream(f); //ZipOutputStream zip=new ZipOutputStream(); out.putNextEntry(new ZipEntry(base)); int b; while((b=fis.read())!=-1) ...{ out.write(b); } fis.close(); } } public static void zip(String zipFileName,String inputFile) throws Exception ...{ zip(zipFileName,new File(inputFile)); } public static void zip(String zipFileName,File inputFile) throws Exception ...{ ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipFileName)); zip(out,inputFile,""); System.out.println("zip done!"); out.close(); } public static void main(String[] args) throws Exception ...{ String filename="aaa.zip"; OutputStream ops=null; zip(filename,"D:/workJava/upload"); }}