递归这块有点不明白求解答

来源:2-2 遍历目录

郑荣

2015-09-02 13:40

File[] files = dir.listFiles();//返回的是直接子目录(文件)的对象
		if(files!=null && files.length>0){
			for(File file : files){
				if(file.isDirectory()){
					//递归
					ListDirectory(file);
				}
				else{
					System.out.println(file);
				}
			}
		}

第二个if这里有点不明白,ListDirectory(file);是怎么操作的?

写回答 关注

2回答

  • sixGod
    2015-09-02 14:51:36
    已采纳

    就是方法调用而以啊,你这段代码是不是写在ListDirectory()中啊,接收参数是个文件,整个方法逻辑就是

    1、传一个文件路径dir进来,如果传进来的是文件夹,取出文件夹中的所有文件进行遍历

    2、遍历时将每个文件进行判断,如果发现是文件夹,执行递归,又回到第一步。如果不是文件夹,就输出

    郑荣

    非常感谢!

    2015-09-02 15:24:44

    共 1 条回复 >

  • 鲜衣
    2015-10-21 21:11:25

    如果是目录,则再从这一层开始,再执行一遍ListDirectory()方法。

    别说你没认真

    ao 。。。懂了 二了 以为ListDirectory()是API呢

    2015-12-30 15:34:44

    共 2 条回复 >

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题