• [转]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

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

  • 相关阅读:
    Linux系统root密码修改
    网络通信
    运维平台cmdb开发-day1
    questions information
    Django Rest Framework
    Django-CBV和跨域请求伪造
    Flask学习
    会议室预定终章
    python的可变数据类型和不可变类型
    模拟admin组件自己开发stark组件之搜索和批量操作
  • 原文地址:https://www.cnblogs.com/ForeverLover/p/4242458.html
Copyright © 2020-2023  润新知