import java.io.File; /** * 删除目录下所有的文件和文件夹 * @author phoebe * */ public class Recursion { public static void main(String[] args) { Recursion.delDirectory(new File("e://aa")); } /** * @param dir * 思想:方法递归相当于是方法里套方法,那么当前方法里的变量和上一层的变量不冲突 */ public static void delDirectory(File dir){ if(dir.isDirectory()){//是目录进来 String[] list = dir.list();//将此目录展开成字符串路径数组 for(int i=0;i<list.length;i++){//循环依次拿到当前的文件 delDirectory(new File(dir,list[i]));//递归 } } /** * sub:此处既删文件也删文件夹 * 1.删文件:if条件判断不是目录 * 2.删文件夹:当前dir递归完了之后删除文件夹 */ dir.delete(); } }
//来个图帮助理解下