循环 在方法中是正常执行的 只有一个方法的执行空间
    递归 调用时产生很多一样的临时执行空间 消耗(栈)内存

    循环能解决的问题 递归也能解决 但是递归性能慢
    但是递归能解决的问题 循环不一定能解决

    展示文件夹:

    1. public void showFile(File file){
    2. //获取传进来的file对象的所有子元素
    3. File[] files = file.listFiles();
    4. //要先 判断file是不是一个文件夹 且有元素
    5. if(files!=null && files.length!=0){//这里用的短路与 因为如果用的是 & 若files为null 但是又files.length 就会出现空指针异常
    6. for(File f:files){//这里是为了把每一个子元素都遍历一遍
    7. this.showFile(f);
    8. }
    9. }
    10. System.out.println(file.getAbsoluteFile());
    11. //此时判断不是文件夹 才会输出
    12. //注意输出的位置不同 结果会有不同
    13. //如果放在if里面 那么 展示的是文件夹 不是文件
    14. }

    删除文件夹:

    1. public void deleteFile(File file){
    2. File[] files = file.listFiles();
    3. if(files!=null && files.length!=0){
    4. for(File f:files)
    5. this.deleteFile(f);
    6. }
    7. file.delete();//这行代码不能随便放 因为不能删除非空的文件夹
    8. }