[轉]實現檔案壓縮

來源:互聯網
上載者:User

標籤:

/**建立一個壓縮檔,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

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

[轉]實現檔案壓縮

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.