//请问下面代码中用红色标示出的那一句什么意思???在方法内部调用本方法???package com.io;
import java.io.*;
public class TestListJavaFile {
public static void main(String[] args) {
File dir=new File("F:\\");
printFiles(dir,".java");
}
//打印dir目录下所有fileType类型的文件
static void printFiles(File dir,final String fileType){
File[] fs=dir.listFiles(new FileFilter(){
public boolean  accept(File file){
if (file.isDirectory()) return true;
String name=file.getName();
return name.endsWith(fileType);
}
});
for(File f:fs){
if (f.isFile()) System.out.println(f.getAbsolutePath());
if (f.isDirectory()) printFiles(f,fileType);[/color[color=#FF0000]]//这一句在方法内部调用本方法什么意思??? }
}
}

解决方案 »

  1.   

    如果是目录的话,就继续调用本方法,递归查找该目录下的文件,一级一级查下去,也就达到遍历所有此类型文件的效果
      

  2.   

    也就是说在方法内部可以调用本方法了?这种用法之前貌似没接触过,看的我心里有点不安...
      

  3.   

    谢谢两位,我搞清楚了是递归调用,这东西如果长时间不用太容易忘了。
      

  4.   

    没什么不安,递归会结束的。
    因为目录层次不可能永远延伸下去,总会递归到空目录或文件的。