public static void deleteDir() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入需要删除的源目录:");
String delpath = sc.next();// 从控制台获取源路径
File dir = new File(delpath); // 创建一个代表目录的File对象
if (dir.exists()) { // 判断传入的File对象是否存在
File[] files = dir.listFiles(); // 得到File数组
for (File file : files) { // 遍历所有的子目录和文件
if (file.isDirectory()) {
(就是这一行) deleteDir(); // 如果是目录,递归调用deleteDir()
} else {
// 如果是文件,直接删除
file.delete();
}
}
// 删除完一个目录里的所有文件后,就删除这个目录
dir.delete();
}
}
就是套娃呗.如果是文件夹,执行deleteDir,也就是来到下一个文件夹(假设是文件夹不是文件),因为又是文件夹,就又deleteDir,然后如果下一个是文件,就调用delete把文件删除,以此来删除file