File类的删除文件夹(有目录,无目录)

众所周知,File类中的delete是无法直接删除有目录的文件夹的。
删除文件时

  • 文件为空 : 直接删除
  • 不为空 : 无法删除(必须将其变为空文件才能删除)
  • 不存在 : 返回false

便于理解
在这里插入图片描述


删除有目录的文件夹

当删除有目录的文件夹时必须将其变为空文件<=>将其内的文件删除
但删除其内的文件时又要考虑该文件是否有目录…
这就变成了一道简单的算法题。
使用递归可以轻松解决。
比如解决删除
代码如下:D盘中file文件夹中的my文件夹
路径:D:/file/my
在这里插入图片描述
可以看到我的my文件夹下是有很多文件的,文件下面还有文件,文件下面的下面还有文件…

如视频:

QQ录屏20220508162009

主方法:

import java.io.File;

public class FilePrictice {
    public static void main(String[] args){
        File file=new File("D:/file/my");
        Operator.deleteFile(file);
    }
}

调用的方法: Operator.deleteFile():


import java.io.File;

public class Operator {
    public static void deleteFile(File file) {
        if(!file.exists()){//判断文件是否存在
            System.out.println("文件不存在!");
            return ;
        }else{
            File files[]=file.listFiles();
            for(File newfile:files){//遍历文件夹下的目录
                if(newfile.isFile()){//如果是文件而不是文件夹==>可直接删除
                    System.out.println("已删除"+newfile.getName());
                   newfile.delete();
                }else{
                    deleteFile(newfile);//是文件夹,递归调用方法
                }
            }
            System.out.println("已删除"+file.getName());
            file.delete();

        }
    }
}

运行输出如图:
在这里插入图片描述

在这里插入图片描述
可以看到my文件夹已经删除了!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在当今社会中,人们越来越多地依靠计算机来办公。每个人也习惯于在计算机中保存自已的各种文档、视频、相片。这在方便每个人的同时,也会存在一些潜在的危险。比如自己已经用操作系统(指窗面操作系统Windows系列)删除过的文件,会被一些文件恢复文具进行恢复,这在某些时候会给人带来高兴。但对于你不想被恢复的已经删除过的文件来说,则是一种风险,因为里面有自己的机密。 局域网、互联网越来越广泛地应用到生活和工作中,计算机网络技术在给人带来方便的同时,也带来了机密文件被"窃取"的风险。再加上计算机病毒的猖獗传播,更加大了文件泄密的风险。 如何才能避免自己电脑上不用的机密文件被别人窃取? 就像办公室会放置一台碎纸机一样,把不用的纸质机密文件粉碎。那每个人的计算机中其实也需要这样的一台"碎纸机",把不需要的机密文档彻底地删除,不会被删除恢复工具来恢复。这在另一方面也防止计算机病毒来"窃取"你的机密文件。 因于此,彻底删除文件(File Delete Absolutely) 1.02版本应运而生,你可以免费使用它。这款系统工具软件由中国的一名硕士生马根峰所开发,专门用来将自己电脑上不用的机密文件彻底删除,不会被任何文件恢复工具所恢复。使你能够完全保护好自己的机密。 大家可以进行免费使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值