/*练习:删除某个有很多层子目录的目录(递归)
提示:多级目录,只能先删儿子,再删老子
我们递归扫描的过程中,先删除所有的文件,如果是文件夹,只能递归进入,再次扫描。
再删除父目录*/
public class Work4 {
public static void main(String[] args) {
Filef=new File("F:\\javabase");
scanFolder(f);
}
private static void scanFolder(File f) {
// 健壮性判断
if(f.isFile())
{ throw new RuntimeException("兄弟,要传文件夹哦");}
File[]l = f.listFiles();
for(File i : l)
{
if(i.isFile())
{
i.delete();
}
else
{
scanFolder(i);//如果是文件夹,便继续搜索
//如果是文件夹就将这个文件夹当做父目录传个扫描的函数,所以就可以通过f.delete()来删除了
// i.delete();//搜索完毕,将文件夹删除
}
}
f.delete();//因为每次循环都是将整个循环进行到底,如果到了最底层就会运行到当前命令了
}
}