[转]JAVA实现文件压缩

9/6/2015来源:Java教程人气:1585

[转]java实现文件压缩
/**创建一个压缩文件,from为文件夹路径,to为创建好后压缩文件路径*/  public void CreateZip(String from,String to) throws IOException  {  List<File>list=getFiles(from);  ZipOutputStream out=new ZipOutputStream(new FileOutputStream(new File(to)));  for(File f:list)  {  InputStream in=new FileInputStream(f);  String name=getRelName(from,f);    ZipEntry en=new ZipEntry(new File(from).getName()+"/"+name);  en.setSize(f.length());    out.putNextEntry(en);  out.setComment("中文测试");      int len=0;  byte[]buffer=new byte[1024];  while(-1!=(len=in.read(buffer)))  {  out.write(buffer, 0, len);  }  in.close();  }  out.close();  }  /**获取文件的相对路径*/  PRivate String getRelName(String from,File f) {  // TODO Auto-generated method stub  String a=f.getAbsolutePath().replace(from+"\\", "");  a=a.replace("\\", "/");  System.out.println(from+"---"+a);  return a;  }  /**获取路径下所有文件,包括文件夹下的*/  private List<File> getFiles(String sou)  {  List<File>list=new ArrayList<File>();  File f=new File(sou);  File files[]=f.listFiles();  for(File file:files)  {  if(file.isFile())  {  list.add(file);  }  else  {  list.addAll(getFiles(file.getPath()));  }  }  return list;  }

##########################################  

转自:http://blog.csdn.net/liu149339750/article/details/7887701

##########################################