Java递归调用File类统计文件夹大小

 时间:2024-10-13 22:52:52

1、首先创建键盘录入对象,我们需要从键盘接收一个文件夹路径,该文件夹路径必须是本机存在的文件夹,并且要是文件夹,不能是文件。我们找到一个需要统计的文件夹,可通过右击属性查看文件夹的位置。

Java递归调用File类统计文件夹大小

2、定义一个无线循环,因为在键盘录入的时候可能会录入正确的,也可能会录入错误的,该无线循环有结束条件,直到输入正确的为止,并将键盘录入的结果存储并封装成一个File类对象。

Java递归调用File类统计文件夹大小

3、对File对象判断,若符合条件,则将文件夹路径对象返回;若不符合条件,则继续录入,直到录入正确的文件夹路径为止。

Java递归调用File类统计文件夹大小

4、统计该文件夹大小,首先定义一个求和变量用于存放文件夹大小,使用listFiles()方法获取该文件夹下所有的文件和文件夹数组,遍历该数组。若判断是文件就计算大小并累加,若判断是文件夹就递归调用(因为文件夹的大小是不能直接获取的,取到的是0,后面将会为大家验证)。

Java递归调用File类统计文件夹大小

5、以上两个方法编辑完成后,我们来验证一下是否能够实现功能。在main方法中调用上述两个方法,因为main方法是程序的入口,在main方法上右击Run As--> Java Application即可,在控制台输入一个文件夹按回车Enter键,即可输出文件夹大小,如下图所示。

Java递归调用File类统计文件夹大小

6、下面我们来验证一下是否能直接获取文件夹的大小,而不用递归调用的方式。通过新建一个有参的File类对象,参数为上一步骤的文件夹路径,直接调用length()方法,结果如下图所示,不管执行多少遍结果均为0,因此可以证明文件夹是不可直接获取大小的。

Java递归调用File类统计文件夹大小
  • 法硕院校在读是什么感受?来自中国政法法硕学姐
  • 三分钟制作喷水蓝鲸鱼
  • 枷罗木与六月雪的盆栽
  • 三合一整平送料机一般故障的解决方法
  • 2017年哪些短发发型最好看
  • 热门搜索
    poppy是什么意思 石家庄有什么好玩的地方 成都有什么特产 胸推是什么意思 什么是甲状腺 宝宝什么时候可以吃盐 黑匣子是什么东西 什么是996 anti是什么意思 干贝是什么