循环 在方法中是正常执行的 只有一个方法的执行空间
递归 调用时产生很多一样的临时执行空间 消耗(栈)内存
循环能解决的问题 递归也能解决 但是递归性能慢
但是递归能解决的问题 循环不一定能解决
展示文件夹:
public void showFile(File file){//获取传进来的file对象的所有子元素File[] files = file.listFiles();//要先 判断file是不是一个文件夹 且有元素if(files!=null && files.length!=0){//这里用的短路与 因为如果用的是 & 若files为null 但是又files.length 就会出现空指针异常for(File f:files){//这里是为了把每一个子元素都遍历一遍this.showFile(f);}}System.out.println(file.getAbsoluteFile());//此时判断不是文件夹 才会输出//注意输出的位置不同 结果会有不同//如果放在if里面 那么 展示的是文件夹 不是文件}
删除文件夹:
public void deleteFile(File file){File[] files = file.listFiles();if(files!=null && files.length!=0){for(File f:files)this.deleteFile(f);}file.delete();//这行代码不能随便放 因为不能删除非空的文件夹}
