如何简单删除一个文件夹(当然是 “右键----->删除啦” )

众所周知,File的delete()只能删除空的文件夹,
所以若想删除一个含有很多文件和文件夹的文件夹该怎么办呢……怎么办呢……么办呢……办呢……
		//1.定义一个方法,接收File对象
private static void deleteDir(File src) {
        //先删掉这个文件夹里面所有的内容.
        //递归 方法在方法体中自己调用自己.
        //2.遍历这个File对象,获取它下边的每个文件和文件夹对象
        File[] files = src.listFiles();
        //3.判断当前遍历到的File对象是文件还是文件夹
        for (File file : files) {
            //4.如果是文件,直接删除
            if(file.isFile()){
                file.delete();
            }else{
               //5.如果是文件夹,递归调用自己,将当前遍历到的File对象当做参数传递
                deleteDir(file);//参数一定要是src文件夹里面的文件夹File对象
            }
        }
        //6.参数传递过来的文件夹File对象已经处理完成,最后直接删除这个空文件夹
        src.delete();
    }
}
	然后谈谈俺自己的理解:
	1.先将File对象中的每一个文件和文件夹都遍历到数组中,
	2.然后for循环遍历每一个元素,如果是文件,就删除,
	3.如果是文件夹,就递归调用这个方法,对传入的文件夹对象又进行一次遍历,获取其中的每一个文件和文件夹,如果是文件就删除,如果是文件夹就继续重复上述操作,
	4.当文件都删除以后,程序返回之前递归调用的地方,然后继续向下执行,跳出for循环,删除当前文件夹。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值