• Java实现压缩与解压缩


    import java.io.*;                                                                       
    import java.util.*;                                                                     
    import java.util.zip.ZipOutputStream;                                                   
    import java.util.zip.ZipEntry;                                                          
    import java.util.zip.ZipFile;  
    
    public class ZipUtil {                                                                 
                                                                                           
        /**                                                                                
         * 压缩文件                                                                            
         *                                                                                 
         * @param srcfile File[] 需要压缩的文件列表                                                 
         * @param zipfile File 压缩后的文件                                                      
         */                                                                                
        public static void zipFiles(List<File> srcfile, File zipfile) {                    
            byte[] buf = new byte[1024];                                                   
            try {                                                                          
                // Create the ZIP file                                                     
                ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile));
                // Compress the files                                                      
                for (int i = 0; i < srcfile.size(); i++) {                                 
                    File file = srcfile.get(i);                                            
                    FileInputStream in = new FileInputStream(file);                        
                    // Add ZIP entry to output stream. 
                    out.putNextEntry(new ZipEntry(file.getName()));                        
                    // Transfer bytes from the file to the ZIP file                        
                    int len;                                                               
                    while ((len = in.read(buf)) > 0) {                                     
                        out.write(buf, 0, len);                                            
                    }                                                                      
                    // Complete the entry                                                  
                    out.closeEntry();                                                      
                    in.close();                                                            
                }                                                                          
                // Complete the ZIP file                                                   
                out.close();                                                               
            } catch (IOException e) {                                                      
                e.printStackTrace();                               
            }                                                                              
        }                                                                                  
                                                                                           
        /**                                                                                
         * 解压缩                                                                             
         *                                                                                 
         * @param zipfile File 需要解压缩的文件                                                    
         * @param descDir String 解压后的目标目录                                                  
         */                                                                                
        public static void unZipFiles(File zipfile, String descDir) {                      
            try {                                                                          
                // Open the ZIP file                                                       
                ZipFile zf = new ZipFile(zipfile);                                         
                for (Enumeration entries = zf.entries(); entries.hasMoreElements();) {     
                    // Get the entry name                                                  
                    ZipEntry entry = ((ZipEntry) entries.nextElement());                   
                    String zipEntryName = entry.getName();                                 
                    InputStream in = zf.getInputStream(entry);                             
                    // System.out.println(zipEntryName);                                   
                    OutputStream out = new FileOutputStream(descDir + zipEntryName);       
                    byte[] buf1 = new byte[1024];                                          
                    int len;                                                               
                    while ((len = in.read(buf1)) > 0) {                                    
                        out.write(buf1, 0, len);                                           
                    }                                                                      
                    // Close the file and stream                                           
                    in.close();                                                            
                    out.close();                                                           
                }                                                                          
            } catch (IOException e) {
                e.printStackTrace();
            }                                                                              
        } 
        
        public static void main(String[] args){
            List srcfile = new ArrayList();
            srcfile.add(new File("D:/111.xls"));   
            //将文件打包成zip包   
            File zipfile = new File("D:/111.zip");   
            ZipUtil.zipFiles(srcfile, zipfile);
        }
    }                                                                                      
  • 相关阅读:
    IOS模拟器
    Android Monkey 测试实例
    Android log分析
    Android压力测试-Monkey
    IOS 压力测试-UI AutoMonkey
    Appium
    在chrome下鼠标拖动层变文本形状的问题
    学习笔记:利用GDI+生成简单的验证码图片
    利用FileStream实现多媒体文件复制
    C#读取Excel文件:通过OleDb连接,把excel文件作为数据源来读取
  • 原文地址:https://www.cnblogs.com/zhaoyhBlog/p/6256097.html
Copyright © 2020-2023  润新知