java中压缩文件

来源:互联网 发布:流程的优化分类 编辑:程序博客网 时间:2024/06/05 19:17
<span style="font-size:14px;">/**创建一个压缩文件,from为文件夹路径,to为创建好后压缩文件路径*/public String CreateZip(String from,String to) {List<File>list=getFiles(from);File zipfile=new File(to);ZipOutputStream out;try {out = new ZipOutputStream(new FileOutputStream(new File(to)));for(File f:list){InputStream in=new FileInputStream(f);ZipEntry en=new ZipEntry(f.getName());en.setSize(f.length());out.putNextEntry(en);int len=0;byte[]buffer=new byte[1024];while(-1!=(len=in.read(buffer))){out.write(buffer, 0, len);}in.close();}out.close();} catch (Exception  e) {// TODO Auto-generated catch blocke.printStackTrace();}String content = "";try {byte[] bytes = FileUtils.readFileToByteArray(zipfile);content = Base64.encodeBase64String(bytes);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return content;}/**获取路径下所有文件,包括文件夹下的*/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;}</span>

0 0