java递归调用输出一个目录上的所有子目录及文件名称

java递归调用输出一个目录下的所有子目录及文件名称
import java.io.File;

public class Test {

	public static void main(String[] args) {
		
		new Test().TreeName("D:/新添加的知识点", " ");

	}
	
	public void TreeName(String path,String tab){
		File file=new File(path);
		File[] childFiles=file.listFiles();//找出所有子目录
		for(int i=0;childFiles!=null&&i<childFiles.length;i++){
			System.out.println(tab+childFiles[i].getName());
			if(childFiles[i].isDirectory()){//如果是目录的话,则调用自身
				TreeName(childFiles[i].getPath(), tab+"\t");
			}
		}
	}


}