递归方法能有效解决递归结构的问题。前面的例子可以很容易地解决,而不需要使用递归。这一节提出了一个不使用递归很难解决的问题。问题是找到目录的大小。目录的大小是目录中所有文件大小的总和。目录 d 可包括子目录。假设一个目录包含文件 f1, f2, ... , fm 和子目录 d1, d2, ... , dn ,如下图所示。
目录的大小可以递归定义如下:
尺寸(d)=尺寸(f1) 尺寸(f2) ... 尺寸(fm) 尺寸(d1) 尺寸(d2) ... 尺寸(dn)
File类别可用于表示文件或目录,并获取文件和目录的属性。 File 这两种方法对解决这个问题非常有用:
如果
file如果对象代表一个目录(第20行),则将目录中的每个子项(文件或子目录)转移到其大小(第23行)。如果 file 对象代表一个文件(第一个) 26 行),获取文件大小并将其添加到总大小(第一) 27 行)。
如果输入不正确或不存在,目录会发生什么?程序将检测到它不是目录并调用它file.length()(第27行),它回来了0。因此,在这种情况下,getSize方法将返回0.
测试所有案例是避免错误的好方法。例如,您应该测试程序的文件输入、空目录、不存在的目录和不存在的文件。
以上是案例研究:查找目录大小的详细内容,请关注其他相关文章!
案例研究:查找目录大小-java教程
路由器3389端口映射,安全高效,畅通无阻!
深信服日志服务器:守护安全,端口稳固无忧!
Java教程二进制输入/输出
系统内置远程桌面,轻松几步完成更换!
声卡连接播放器录音,专业录音必备之选!
远程桌面,一键重启,立即恢复高效运行!
Java教程二进制输入/输出
AWS Lambda 上的 Spring Boot 应用程序 - 使用 Spring Cloud Function AWS java教程部分开发应用程序
java教程
如何在 JUnit 5 中模拟真实性 BeforeAll 和 AfterAll-java教程
外卖骑手 1 周超 3 二次交通违规将停止订单,广州新规敦促配送企业按最高限度进行配送 25km/h 设定时限-IT行业
作者
在哪里实施混合办公:从下周开始,每周三、五名员工可以灵活选择办公地点,无需审批——IT行业
Moka CTO 刘洪泽:在大模型时代,组织和人才结构将迎来新的变化——人工智能
华为广州首个研发基地预计今年 9 月竣工交付涉及智能汽车、云计算、物联网等领域-IT行业
罗技驱动检测不到设备怎么办?常见问题
在哪里下载纯版Win10系统-常见问题
MUMU模拟器不能安装怎么办?常见问题