博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归打包下载
阅读量:6838 次
发布时间:2019-06-26

本文共 1663 字,大约阅读时间需要 5 分钟。

hot3.png

/**     * 压缩整个文件夹中的所有文件,生成指定名称的zip压缩包     * @param filepath 文件所在目录     * @param zippath 压缩后zip文件名称     * @param dirFlag zip文件中第一层是否包含一级目录,true包含;false没有     * 2015年6月9日     */    public static void zipMultiFile(String filepath ,String zippath, boolean dirFlag) {        try {            File file = new File(filepath);// 要被压缩的文件夹            File zipFile = new File(zippath);            ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile));            if(file.isDirectory()){                File[] files = file.listFiles();                for(File fileSec:files){                    if(dirFlag){                        recursionZip(zipOut, fileSec, file.getName() + File.separator);                    }else{                        recursionZip(zipOut, fileSec, "");                    }                }            }            zipOut.close();        } catch (Exception e) {            e.printStackTrace();        }    }         private static void recursionZip(ZipOutputStream zipOut, File file, String baseDir) throws Exception{        if(file.isDirectory()){            File[] files = file.listFiles();            for(File fileSec:files){                recursionZip(zipOut, fileSec, baseDir + file.getName() + File.separator);            }        }else{            byte[] buf = new byte[1024];            InputStream input = new FileInputStream(file);            zipOut.putNextEntry(new ZipEntry(baseDir + file.getName()));            int len;            while((len = input.read(buf)) != -1){                zipOut.write(buf, 0, len);            }            input.close();        }    }

 

转载于:https://my.oschina.net/u/2402401/blog/709966

你可能感兴趣的文章
21.5. 流量控制
查看>>
WSRP调用中的一些问题
查看>>
Android 正则表达式
查看>>
5.22. Spring boot with Cache
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]4.3.13
查看>>
string Join
查看>>
flaskr 报错及其修改
查看>>
[唐诗]入朝洛堤步月-上官仪
查看>>
ORACLE SQL开发where子句之case-when
查看>>
姚期智:这是一个“前所未有”的金融科技与计算机科学的黄金时代
查看>>
Linux 批量依赖库拷贝(ldd)
查看>>
memcache和redis对比
查看>>
ASP.NET Core 1.0中实现文件上传的两种方式(提交表单和采用AJAX)
查看>>
10.11杭州Clouder lab 十分钟搭建共享应用 2:如何通过日志服务实现用户的日志收集与分析...
查看>>
老旧的金融机构,是时候赶赶云计算的时髦了
查看>>
《Linux From Scratch》第三部分:构建LFS系统 第八章:让LFS系统可引导 - 8.2. 创建 /etc/fstab 文件...
查看>>
Python 进阶_OOP 面向对象编程_静态方法和类方法
查看>>
布线须知:机柜在数据中心机房的三个新用途
查看>>
迁移到云:渐进但不可逆转
查看>>
Patchwork间谍组织将目标扩大至政府
查看>>