首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>java教程>资讯:Jjava程序实现压缩某目录代码

Jjava程序实现压缩某目录代码

www.jz123.cn  2010-04-07   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

public class TestZip {
  public static String SERPEROT = "/";
  public static int BUFFER = 2048;
  public static void main(String args[]){
  zip("e:/hello/", "e:/hello.zip");
  }
  public static void zip(String srcFile, String descFile){
  ZipOutputStream zos = null;
  FileOutputStream fos = null;
  File file = null;
  try {
  fos = new FileOutputStream(descFile);
  zos = new ZipOutputStream(fos);
  file = new File(srcFile);
  String folder = srcFile.substring(srcFile.lastIndexOf("/") +1,srcFile.length());
  zip(zos,file,folder);
  } catch (FileNotFoundException e) {
  e.printStackTrace();
  }finally{
  try{
  if(zos != null){zos.close();}
  if(fos != null){fos.close();}
  }catch(Exception e){
  e.printStackTrace();
  }
  }
  }
  private static void zip(ZipOutputStream descFile, File srcFile,String srcfolder){
  FileInputStream fis = null;
  System.out.println(srcFile.isDirectory());
  try{
  if(srcFile.isDirectory()){
  File[] files = srcFile.listFiles();
  descFile.putNextEntry(new ZipEntry(srcfolder + "/")); //是压缩包里面的路径.
  srcfolder = srcfolder.length() == 0 ? "" : srcfolder + "/";
  System.out.println(srcfolder);
  for(int i= 0; i 
  zip(descFile,files[i],srcfolder + files[i].getName());
  }
  }else{
  descFile.putNextEntry(new ZipEntry(srcfolder));
  fis = new FileInputStream(srcFile);
  byte[] bytes = new byte[2048];
  int n =0;
  while((n = fis.read(bytes)) != -1){
  descFile.write(bytes,0,n);
  }
  }
  }catch(Exception e){
  e.printStackTrace();
  }finally{
  try{
  if(fis != null){fis.close();}
  }catch(Exception e){
  e.printStackTrace();
  }
  }
  }
  }

上一篇:在Java程序中处理数据库超时与死锁 下一篇:Java和PHP在Web开发方面的比较

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图