递归:函数自身调用函数自身
使用递归的前提是要有条件结束这个自身调用(不然会出现死循环)
public class Demo1 { public static void main(String[] args) { File file = new File("D:\新建文件夹"); System.out.println(print1(5)); print2(file,""); myDelete(file); } //计算出5的阶层(5*4*3*2*1) public static int print1(int num) { if(num==1) { return 1; }else { return num*print1(num-1); } } //打印文件夹的路径 public static void print2(File file,String str) { //根据传入的路径获取所有文件 File[] allFile = file.listFiles(); //根据是文件夹还是文件不同的处理 for (File itemp : allFile) { if(itemp.isFile()) { System.out.println(str+itemp.getName()); }else if(itemp.isDirectory()) { System.out.println(str+itemp.getName()); print2(itemp,"--"+str); } } } //因为delete只能删除一个空的文件夹,所以我们可以根据递归删除所有文件 public static void myDelete(File file) { //根据传入的路径获取所有文件 File[] allFile = file.listFiles(); //根据是文件夹还是文件不同的处理 for (File itemp : allFile) { if(itemp.isFile()) { itemp.delete(); }else if(itemp.isDirectory()) { myDelete(itemp); } file.delete(); } } }