使用递归方法来处理递归定义的数据时非常有效。
考虑到文件系统在计算机上的存储方式。
每个文件被存储在一个文件夹或目录下,但目录包含的可能不仅仅是文件,还可能包含其它的目录,子目录又包含再下一级的目录,以此类推,目录可以任意深度进行嵌套。
//一个简单的示例
public class DirectoryCrawler {
//目录爬虫
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.println("请输入文件或目录名称:");
String name = console.nextLine();
File f = new File(name);
if( !f.exists() ){
System.out.println("文件或目录不存在。");
}else{
print(f,0);
}
}
public static void print(File f,int level) {
for(int i = 0; i < level; i ++){
System.out.print(" ");
}
System.out.println(f.getName());
if(f.isDirectory()){
for(File subF : f.listFiles()){
print(subF,level +1);
}
}
}
}
///end