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();  
        }  
    }  
    

     

  • 相关阅读:
    973. K Closest Points to Origin
    919. Complete Binary Tree Inserter
    993. Cousins in Binary Tree
    20. Valid Parentheses
    141. Linked List Cycle
    912. Sort an Array
    各种排序方法总结
    509. Fibonacci Number
    374. Guess Number Higher or Lower
    238. Product of Array Except Self java solutions
  • 原文地址:https://www.cnblogs.com/shenjichenai/p/6232589.html
Copyright © 2011-2022 走看看