案例研究:查找目录大小-java教程

首页 2024-07-10 02:02:47

递归方法能有效解决递归结构的问题。前面的例子可以很容易地解决,而不需要使用递归。这一节提出了一个不使用递归很难解决的问题。问题是找到目录的大小。目录的大小是目录中所有文件大小的总和。目录 d 可包括子目录。假设一个目录包含文件 f1, f2, ... , fm 和子目录 d1, d2, ... , dn ,如下图所示。

目录的大小可以递归定义如下:

尺寸(d)=尺寸(f1) 尺寸(f2) ... 尺寸(fm) 尺寸(d1) 尺寸(d2) ... 尺寸(dn)

File类别可用于表示文件或目录,并获取文件和目录的属性。 File 这两种方法对解决这个问题非常有用:

  • length() 方法返回文件的大小。
  • listFiles()方法返回目录File对象的数组。
下面的代码给出了一个程序,提示用户输入目录或文件并显示其大小。

如果

file如果对象代表一个目录(第20行),则将目录中的每个子项(文件或子目录)转移到其大小(第23行)。如果 file 对象代表一个文件(第一个) 26 行),获取文件大小并将其添加到总大小(第一) 27 行)。

如果输入不正确或不存在,目录会发生什么?程序将检测到它不是目录并调用它

file.length()(第27行),它回来了0。因此,在这种情况下,getSize方法将返回0.

测试所有案例是避免错误的好方法。例如,您应该测试程序的文件输入、空目录、不存在的目录和不存在的文件。

以上是案例研究:查找目录大小的详细内容,请关注其他相关文章!


p
nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密