zoukankan      html  css  js  c++  java
  • 大文件下载压缩解析方法

    /** 
     * 功能:压缩多个文件成一个zip文件 
     * @param srcfile:源文件列表 
     * @param zipfile:压缩后的文件 
     */  
    public static void zipFiles(File[] srcfile, File zipfile) {  
        byte[] b = new byte[1024];  
        try {  
            //ZipOutputStream类:完成文件或文件夹的压缩  
            ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile));  
            for (int i = 0; i < srcfile.length; i++) {  
                FileInputStream in = new FileInputStream(srcfile[i]);  
                out.putNextEntry(new ZipEntry(srcfile[i].getName()));  
                int len;  
                while ((len = in.read(b)) > 0) {  
                    out.write(b, 0, len);  
                }  
                out.closeEntry();  
                in.close();  
            }  
            out.close();  
            System.out.println("压缩完成.");  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
    
     /** 
     * 功能:解压缩 
     * @param zipfile:需要解压缩的文件 
     * @param descDir:解压后的目标目录 
     */  
    @SuppressWarnings({ "rawtypes", "resource" })
    public static void unZipFiles(File zipfile, String descDir) {  
        try {  
            ZipFile zf = new ZipFile(zipfile);  
            for (Enumeration entries = zf.entries(); entries.hasMoreElements();) {  
                ZipEntry entry = (ZipEntry) entries.nextElement();  
                String zipEntryName = entry.getName();  
                InputStream in = zf.getInputStream(entry);  
                OutputStream out = new FileOutputStream(descDir + zipEntryName);  
                byte[] b = new byte[1024];  
                int len;  
                while ((len = in.read(b)) > 0) {  
                    out.write(b, 0, len);  
                }  
                in.close();  
                out.close();  
                System.out.println("解压缩完成.");  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
    

     

  • 相关阅读:
    sql统计
    如何让文本框内的提示信息在激活文本框时清空
    Button onclick事件
    CustomValidator 的应用
    DjangoORM数据库创建
    HDU3685 几何+重心+凸包+判定锐角三角形
    CF181c
    POJ2187 旋转卡壳+凸包
    HDU2907凸包+凹面
    HDU2108+几何+判断凸多边形
  • 原文地址:https://www.cnblogs.com/shenjichenai/p/6232589.html
Copyright © 2011-2022 走看看