利用递归输出指定目录下的所有文件以及文件夹包括子目录中的
因为目录中还有目录,只要使用同一个列出目录的功能函数完成即可
在列出过程中出现的还是目录的话便继续调用本功能
也就是函数调用自身
这种调用自己的方法称为递归
递归从里往外剥
递归要注意
1,限定条件
2,要注意递归的次数,尽量避免内存的溢出
import java.io.*; class fileDemo01 { public static void main(String[]args) { File f = new File("E:/ISO教程"); diguiFile(f,1); } public static void diguiFile(Filef,int lev) { sop(rank(lev)+f.getName()); lev++; File[] fs = f.listFiles(); for (int x = 0 ;x<fs.length ;x++ )//数组的长度length字符串的长度length() { if (fs[x].isDirectory()) { diguiFile(fs[x],lev); } else System.out.println(rank(lev)+fs[x].getName()); } } //空格用来分级 public static String rank(int lev) { StringBuilder sb = newStringBuilder(); sb.append(lev+"|--"); for (int i =1;i<lev ;i++ ) { sb.insert(0," "); } return sb.toString(); } public static void sop(Object o) { System.out.println(o); } }