递归的经典应用:打印文件目录
从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印
例如:
aaa是文件夹,里面有bbb.txt,ccc.txt,ddd.txt这些文件,有eee这样的文件夹,eee中有fff.txt和ggg.txt,打印出层级来
aaa
bbb.txt
ccc.txt
ddd.txt
eee
fff.txt
ggg.txt
import java.io.File; public class Test { public static void main(String[] args) throws Exception { printFiles(new File("d:\\ccc\\"), 0); } public static void printFiles(File dir, int level) { for (int i = 0; i < level; i++) { System.out.print(" "); } System.out.println(dir.getName()); if (dir.isDirectory()) { File[] files = dir.listFiles(); for (File file : files) { printFiles(file, level + 1); } } } }