ETI工作-测试文件多层folder树生成

上周在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,完成任务!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值