import java.io.File;
public class Demo_Recursion {
public static void main(String[] args){
listAll(new File("F:/aa"),"|--");
}
/**
* 创建一个递归方法
* 将一个文件中所有子类文件存入到文件数组中:ListFiles()方法
* 使用foreach方法,将数组中的所有元素取出来
* 用isFile()方法判断是否是文件,isDirectory()方法判断是否是目录,并打印出当前目录中的所有文件写目录
* 用时递归方法,就是在本方法中调中本方法,就可以得到所有的子孙目录写子孙文件
* */
public static void listAll(File file,String str){
//得到文件内容并存入数组
File[] fi=file.listFiles();
//遍历所有的文件目录与文件
for(File fe:fi){
//判断是否是文件
if(fe.isFile()){
System.out.println(str+"文件"+fe.getName());
}//判断是否是目录
else if(fe.isDirectory()){
System.out.println(str+"目录"+fe.getName());
//使用递归,这里使用fe,每次都会进入一个目录,如果没目录,将不在递归,而退出,不然就是死循环
listAll(fe,"| "+str);
}
}
}
}
|