/**創建一個壓縮文件,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+"http://", ""); a=a.replace("http://", "/"); 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
##########################################
新聞熱點
疑難解答