JavaFile类递归按层级打印文件夹下的文件名

2025-04-25 14:57:41

1、我们在打印文件名之前,首先要从控制台获取文件夹路径,并使用listFiles()方法获取所有的文件和文件夹,返回的是File数组。然后遍历该File数组,遍历过程中无论是文件还是文件夹都需要直接打印出来。

JavaFile类递归按层级打印文件夹下的文件名

2、如果判断该File对象是文件夹的话需要递归调用打印方法,如下图所示。需要说明的一点是在递归调用时printLev(subFile)方法即可,然后便可以通过main方法等测试查看。

JavaFile类递归按层级打印文件夹下的文件名

3、打印方法编写完成后,我们在main方法中调用查看,其中getDir()为从控制台获取文件路径,该方法此处不再赘述,需要了解的话请查阅下文中的介绍。点击运行后,在控制台有提示输入文件夹路径的信息,输入正确的文件夹路径后点击回车即可。

JavaFile类递归按层级打印文件夹下的文件名

4、上述步骤完成后我们可以殂翼瑟擀实现正常打印出文件夹下所有的文件和文件夹及其子文件的路径,但是细心的朋友可以发现打印出来的路径并非是层级的。下面我们在打印方法中添加le即枢潋雳vel参数,用来控制打印输出的Tab键的数量,通过循环遍历level打印"\t"来实现,当文件夹需递归调用的时候level值需加1。

JavaFile类递归按层级打印文件夹下的文件名

5、添加level参数完成后,我们需要在main方法中修改打祥缮乖贝印方法的传参,并执行main方法来测试,同样是在控制台输入上述文件路径,便可看到我们需要的格式正常打印出来了,如下图所示。注意printLev(subFile, level+1)一定要写成level+1,若写成level++或++level打印出来的便不是我们需要的层级结构,同样可通过main方法调用查看。

JavaFile类递归按层级打印文件夹下的文件名
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢