上周在ETI的任务是对一个基于afresco的在线文件管理系统,准备一些测试的文件。

文件要求:folders树,每层folder树包含8个folder(f1,f2,```,f8)和4个files,次层的folder(f1,f2,```,f8)也包含8个folder(  {f11,f12,```,f18}, {f21,f22,```,f28} , ``` {f81,f82,```,f88} )和4个files,如此递推······,到第七层 (   {f111111,f111112,```,f111118}, {f111121,f111122,```,f111128} , ``` {f888881,f888882,```,f888888} ) .

编程逻辑:

1 生成7层的folder树;

2 在每个folder下copy4个相同的file。

具体过程:

稍作思考,因为每层文件夹内的folders和files数目是一样的,选用了java的6重for循环,每层循环生成路径,便于第6层循环的 f.mkdir() 生成文件树。待文件树生成后(用时约几分钟),在源代码的上面每层循环末尾加上copy(f1,f2,f3,f4,filepath),实现copy文件到指定的每层目录文件下。

问题出现:

1 第一次跑程序,在 接近30万的folder中,每个folder放4个file,总共120万个,考虑不周,在程序跑了接近6个小时后,出错。仔细检查发现,是计算机的物理内存不足。因为4个文件约为300Kb,则需要90G的磁盘存储,而当时的计算机剩余存储为56G。只能,删除已生成的文件树,重新生成。

2 第二个问题是,接近60G的文件不是你想删就能删的。直接拖垃圾桶,垃圾桶吃不下啊,直接Shift+Delete强制从磁盘删除,那绵长的准备时间可以让我去shi了。只能写代码,让计算机去干了,于是又写了一个删除指定目录下文件盒文件内容的类,代码见我的代码。又是漫长的文件删除工作时间等待······(真是希望Eclipse可以多线程的啊)

3 有了前面的失误,准备的很小心,4个files总共大小为30KB,120万就是9G,Ok。先将每层文件个数缩减为3个测试一下。

4 问题又出现了,因为代码里面是copy文件和生成文件夹同步的,所以在copy的时候会报错,解决方法很简单,运行程序2次。

5 将level改为8,可以圆满生成。

OK,完成任务!

ETI工作-测试文件多层folder树生成相关推荐

  1. hive遍历_Hive解析流程-抽象语法树生成

    HiveQL解析流程: Hive根据Antlr定义的词法.语法规则完成词法.语法分析将HQL解析为AST Tree: 遍历AST Tree,抽象出查询的基本组成单元Query Block: 遍历Que ...

  2. hive查询where join_Hive解析流程-抽象语法树生成

    HiveQL解析流程: Hive根据Antlr定义的词法.语法规则完成词法.语法分析将HQL解析为AST Tree: 遍历AST Tree,抽象出查询的基本组成单元Query Block: 遍历Que ...

  3. C#学习基本概念---xcopy(复制文件和目录树)

    XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件:使用时源盘符.源目标路径名.源文件名至少指定一个:选用/S时对源目录下及其子目录下的所有文件进行COPY.除非 ...

  4. REW声学测试(三):生成测试信号

    更多文章请关注微信公众号:「智能音箱设计」 REW有一个信号发生器模块Generator,可以生成测试所需要的音频信号.生成界面中可选择需要生成的信号类型.频率范围.振幅.通道数及比特数.保存的信号为 ...

  5. python的pyd文件_Python 加密之 生成pyd文件

    混淆代码,我准备使用pyminifier.而加密处理,就比较麻烦. Python有py.pyc.pyw.pyo.pyd等文件格式. 其中,pyc是二进制文件.但很容易被反编译. pyw也不行,只是隐藏 ...

  6. c语言复制文件夹xcopy,C#学习基本概念---xcopy(复制文件和目录树)

    XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件:使用时源盘符.源目标路径名.源文件名至少指定一个:选用/S时对源目录下及其子目录下的所有文件进行COPY.除非 ...

  7. 用php生成html文件,怎样用PHP生成html文件

    总结一 贴子发出后,得到网友们的热烈响应和帮助,为回报各位村民,特把有效回贴整理出 1,Matrix@Two_Max的发贴: <?php $fp = fopen ("templets. ...

  8. python导入csv文件-Python从CSV文件导入数据和生成简单图表

    原标题:Python从CSV文件导入数据和生成简单图表 我们已经完成Python的基础环境搭建工作,现在我们尝试导入CSV数据 我们准备一个csv测试数据,文件名是csv-test-data.csv数 ...

  9. 渗透测试-文件上传/下载/包含

    渗透测试-文件上传/下载/包含 概述 一.常见校验上传文件的方法 客户端校验 服务器端校验 1.校验请求头 content-type字段 2. 正则匹配来判断文件幻数(文件头)内容是否符合要求 3. ...

最新文章

  1. 中国程序员超 5000 万?北上广等一线城市 IT 岗位已开始饱和过剩?
  2. feign 请求超时,请求没有到服务端
  3. oracle统计事务,统计Oracle 查询事务数的方法
  4. 计算机病毒与信息安全论文,信息安全与计算机病毒……毕业论文.doc
  5. 【机器翻译】transformer
  6. Python并发编程:多线程-死锁现象与递归锁
  7. 程序员都怎么过端午节?
  8. python怎么定义正方形函数_python – Matplotlib自定义图例以显示正方形而不是矩形...
  9. 谷歌停止华为合作;联想声明未向华为断供;Android 遭反垄断调查 | 极客头条...
  10. 数据是以什么形式存放在计算机中的?计算机与进制 (进制转换原则)
  11. python之 pyCharm pip安装pandas库失败
  12. python 获取微信语音消息_GitHub - advancer-debug/Python_wechat: Python实现微信自动回复及接入聊天机器人...
  13. 七日杀服务器怎么设置家的位置,七日杀固定地图在哪儿建家好 | 手游网游页游攻略大全...
  14. 工信部下架96款侵害用户权益App、通报3款违规SDK
  15. 阿里云天池学习赛-零基础入门数据分析-学术前沿趋势分析(task1)
  16. 基于HTTP的QQ协议分析
  17. 《瞳孔:一个开放源码平台,用于普遍的眼球追踪和基于移动凝视的交互》论文阅读
  18. location 拦截所有_超强广告拦截软件,简直手机必备App,太太太太太太太太太好用了!...
  19. 洋哥有哪些送给20多岁年轻人的建议?
  20. ckc交易什么意思_热文:涨停是什么意思股票涨停是什么意思

热门文章

  1. 饮食干预减轻癌症治疗相关症状和毒性
  2. Java并发Future
  3. java泡泡龙开源_2019级C语言大作业 - 泡泡龙
  4. 计算机组成原理实验一:全加器实验
  5. excel二进制移位运算_Excel揭秘13:在Excel中实现位运算
  6. 0930-值得纪念的一天,永远不要心存侥幸
  7. ubuntu 下怎么查看内存条状况
  8. 陶瓷充电电池行业研究及十四五规划分析报告
  9. 实现Python Http 接口测试
  10. 模拟cmos集成电路(8)