Apache commons-compress ZIP打包

来源:互联网 发布:app软件开发外包 编辑:程序博客网 时间:2024/05/17 04:38
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;}