服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用java压缩文件或目录下的所有文件


import java.io.file;
import org.apache.tools.zip.zipoutputstream;
import java.io.fileinputstream;
import java.io.fileoutputstream;
/**
* @author tyrone
*
*/
public class directoryzip {
/**
  *@param inputfilename, file or directory waiting for zipping ,outputfilename output file name
  *
  */
public void zip(string inputfilename,string outputfilename) throws exception {
  zipoutputstream out = new zipoutputstream(new fileoutputstream(outputfilename));
  zip(out, new file(inputfilename), "");
  system.out.println("zip done");
  out.close();
}
private void zip(zipoutputstream out, file f, string base) throws exception {
  if (f.isdirectory()) {
   file[] fl = f.listfiles();
   if (system.getproperty("os.name").startswith("windows")){
    out.putnextentry(new org.apache.tools.zip.zipentry(base + "//"));
    base = base.length() == 0 ? "" : base + "//";
   }
   else{
    out.putnextentry(new org.apache.tools.zip.zipentry(base + "/"));
    base = base.length() == 0 ? "" : base + "/";
   }
   for (int i = 0; i < fl.length; i++) {
    zip(out, fl[i], base + fl[i].getname());
   }
  }
  else {
   out.putnextentry(new org.apache.tools.zip.zipentry(base));
   fileinputstream in = new fileinputstream(f);
   int b;
   system.out.println(base);
   while ( (b = in.read()) != -1) {
    out.write(b);
   }
   in.close();
  }
}
public static void main(string[] args){
  directoryzip m_zip=new directoryzip();
  try{
   m_zip.zip(args[0],"release//2005.zip");
  }catch(exception ex){
   ex.printstacktrace();
  }
}
}

扫描关注微信公众号