为什么在33行代码,判断File之后选择使用递归,然后在调用方法的时候可以正常的输出文件名呀?今天在视频教学里学的
刚学到的知识点,递归!然后教学视频里面学的这一方法,实在是琢磨不透,望有人替我解下这个困惑!不然我今晚,一定孤枕难眠了
你行号没打出来
如果是file,就说明扫描到一个文件,输出文件名
如果是文件夹,则遍历这个文件夹,对于其中的文件和文件夹再做对应操作
有帮助望采纳~
首先,先分析你这段程序的逻辑:
1.用一个名为“F:\360Safe”作为绝对路径创建一个file对象
2.然后以这个file对象作为入参执行getAllFilePath方法
然后我们看看你的这个静态的getAllFilePath方法的执行逻辑是啥:
1.获取入参file对象目录下的所有文件对象数组
2.判断获取到的对象数组是否为空,如果为空,啥都不做,说明此文件目录下没文件或此文件对象指向的不是目录
3.如果不为空,遍历这个数组,对每个文件对象的操作如下:
1)首先判断该文件对象指向的实际文件是否是目录,
如果是目录,则进入此目录获取其中的文件对象重复前面的操作
否则该文件对象指向的是文件,打印出此文件路径。
理解了上面的过程,就清楚很多了,如果再理解不了既可以参照下面的代码,打个断点进行查看:
递归就是自己调用自己,直到不满足某个条件为止。