文档章节

递归打包下载

z
 zdatbit
发布于 2016/07/11 17:44
字数 193
阅读 37
收藏 2
点赞 0
评论 0
/**
     * 压缩整个文件夹中的所有文件,生成指定名称的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();
        }
    }

 

© 著作权归作者所有

共有 人打赏支持
z
粉丝 3
博文 43
码字总数 5767
作品 0
海淀
Webpack 3.4.1 发布,模块加载打包工具

Webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图 (dependency graph) ,其中包含应用程序需要的每个模块,...

王练 ⋅ 2017/08/01 ⋅ 4

Webpack 3.10.0 发布,模块加载打包工具

Webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图 (dependency graph) ,其中包含应用程序需要的每个模块,...

王练 ⋅ 2017/12/05 ⋅ 3

Linux常用命令(仅考虑个人情况)

有待完善: 查找文件:号为通配符? find / -name "libcgic" 库libcgic.a路径: /work/RT288xSDK/RT288xSDK/source/lib/lib/libcgic.a 头文件cgic.h路径: /work/RT288xSDK/RT288xSDK/source......

唧唧帝 ⋅ 2014/01/15 ⋅ 0

Webpack 3.6.0 发布,模块加载打包工具

Webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图 (dependency graph) ,其中包含应用程序需要的每个模块,...

王练 ⋅ 2017/09/17 ⋅ 2

ssh命令大全

rm -rf mydir / 删除mydir目录 / cd mydir / 进入mydir目录 / cd - / 回上一级目录 / cd ~ / 回根目录 / mv tools tool / 把tools目录改名为tool / ln -s tool bac / 给tool目录创建名为bac...

lingfeng72 ⋅ 2015/06/24 ⋅ 0

项目自动打包备份基础脚本

Linux下我们常常需要进行打包操作,当然其实我们更常用的操作是windows和Linux的文件交互 打包操作。在Linux下tar命令更常用 (俩者用法差不多,先小结zip命令)有的系统是没有安装zip压缩命...

熊猫88 ⋅ 2016/01/14 ⋅ 0

题目2:递归解压缩文件,并计算压缩包中的所有文件内保存的数字之和

一、题目 定义文件 xx.tar.gz 的产生方式如下: 以 xx 为文件名的文件通过 tar 和 gzip 打包压缩产生,该文件中以字符串的方式记录了一个非负整数; 或者以 xx 为名的目录通过 tar 和 gzip 打...

北风其凉 ⋅ 2015/04/02 ⋅ 0

PHP文件管理器--LyFM

LyFM 是一个基于PHP的个人网站文件管理器,采用完全Ajax操作,实现高效的在线文件管理。 功能说明 无刷新访问页面,多操作同时进行 文件管理基础操作,重命名、删除、移动、复制、文件夹创建...

loveyu ⋅ 2013/03/15 ⋅ 0

Linux 使用cp命令的错误

昨天维护的编译软件出了一个奇怪的问题,功能大概是这样的: 1、下载资源和代码; 2、编译; 3、将需要打包的文件复制到临时目录打包。 后来由于新需求,修改了一下功能,在复制到临时目录之...

一万 ⋅ 2016/01/20 ⋅ 0

【步兵 cocos2dx】热更新(上)

【步兵 cocos2dx】lua的热更新 By EOS. 之前写好的热更,基本可以在项目中使用,接下来拿出来跟大家分享一下。 话不多说,直接进入正题。。。总感觉两行长度差太多不舒服,现在好了。 lua的热...

id___e_o_s___ ⋅ 2017/06/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 38分钟前 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 44分钟前 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

Spring clound 组件

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负载均衡,特性有区域亲和、重试机制。...

英雄有梦没死就别停 ⋅ 昨天 ⋅ 0

Confluence 6 重新获得站点备份文件

Confluence 将会创建备份,同时压缩 XML 文件后存储熬你的 <home-directory>/backups> 目录中。你需要自己访问你安装的 Confluence 服务器,并且从服务器上获得这个文件。 运行从 Confluence...

honeymose ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部