多语言展示
当前在线:378今日阅读:2今日分享:31

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

通过右击文件夹,选择属性在常规选项卡中查看文件夹大小,那么我们通过Java编程能否实现查看文件夹大小的功能呢?下面小编带大家做这样一个练习,从键盘接收一个文件夹路径,统计该文件夹的大小,只需要点击运行按钮便可查看文件夹的大小。
工具/原料

Eclipse开发工具

方法/步骤
1

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

2

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

3

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

4

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

5

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

注意事项

文件夹不可直接获取大小,需递归调用

推荐信息