用 appache 的 commons-compress-1.9.jar 压缩zip包

jar包下载路径:http://commons.apache.org/proper/commons-compress/download_compress.cgi

public static void main(String[] args) {
    ZipArchiveOutputStream zipOutput = null;  
        try {  
            String folderPath = "d:\\测试文件夹";   
            File zipFile = new File("d:\\demo.zip");  
            zipOutput = (ZipArchiveOutputStream) new ArchiveStreamFactory().createArchiveOutputStream(ArchiveStreamFactory.ZIP, new FileOutputStream(zipFile));  
            zipOutput.setEncoding("UTF-8");  
            zipOutput.setUseZip64(Zip64Mode.AsNeeded);  
            File[] files = new File(folderPath).listFiles();  
            for(File file : files){  
                InputStream in = null;  
                try {  
                    in = new FileInputStream(file);  
                    ZipArchiveEntry entry = new ZipArchiveEntry(file, file.getName());//zipOutput.createArchiveEntry(logFile, logFile.getName());  
                    zipOutput.putArchiveEntry(entry);  
                    IOUtils.copy(in, zipOutput);  
                    zipOutput.closeArchiveEntry();  
                }finally{  
                    if(in != null){  
                        try {  
                            in.close();  
                        } catch (Exception e) { }  
                    }  
                }  
            }  
            zipOutput.finish();  
            zipOutput.close();  
        }catch(Exception e){  
            if(zipOutput != null){  
                try {  
                    zipOutput.close();  
                } catch (Exception e1) { }  
            }  
            throw e;  
        }  
  }

文章出处:http://blog.csdn.net/m13321169565/article/details/8085921