问答详情
源自:2-2 遍历目录

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

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);是怎么操作的?

提问者:郑荣 2015-09-02 13:40

个回答

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

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

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

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

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

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