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);是怎么操作的?
就是方法调用而以啊,你这段代码是不是写在ListDirectory()中啊,接收参数是个文件,整个方法逻辑就是
1、传一个文件路径dir进来,如果传进来的是文件夹,取出文件夹中的所有文件进行遍历
2、遍历时将每个文件进行判断,如果发现是文件夹,执行递归,又回到第一步。如果不是文件夹,就输出
如果是目录,则再从这一层开始,再执行一遍ListDirectory()方法。