java 递归删除多层嵌套的文件

简介: java 递归删除多层嵌套的文件

可以使用递归函数来删除多层嵌套的文件,可以按照以下步骤实现:

  1. 定义一个递归函数,接收一个File类型的参数,代表要删除的文件或目录。
  2. 首先判断这个文件或目录是否存在,如果不存在,则直接返回。
  3. 如果是一个文件,则直接删除。
  4. 如果是一个目录,则先遍历该目录下的所有子文件和子目录,对每个子文件和子目录递归调用该函数进行删除。
  5. 最后删除该目录本身。

下面是一个示例代码:

public static void delete(File file) {
    if (file == null || !file.exists()) {
        return;
    }
    if (file.isFile()) {
        file.delete();
        return;
    }
    File[] files = file.listFiles();
    if (files != null) {
        for (File f : files) {
            delete(f);
        }
    }
    file.delete();
}

或者再来一个精简版写法

public static boolean deleteRecursively(File root) {
        if (root != null && root.exists()) {
            if (root.isDirectory()) {
                File[] children = root.listFiles();
                if (children != null) {
                    for (File child : children) {
                        deleteRecursively(child);
                    }
                }
            }
            return root.delete();
        }
        return false;
    }

在调用该函数时,只需要传入要删除的文件或目录的File对象即可。例如,要删除当前目录下的test目录,可以这样调用:

File file = new File("test");
delete(file);


相关文章
|
2月前
|
Java BI API
Java如何实现文件批量导入导出(兼容xls,xlsx)
Java如何实现文件批量导入导出(兼容xls,xlsx)
39 0
|
2月前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
35 1
|
2月前
|
Java
java中替换文件内容
java中替换文件内容
15 1
|
2月前
|
Java API
Java中文件与输入输出
Java中文件与输入输出
|
2月前
|
Java
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
11 0
|
2月前
|
Java
java程序导出堆文件
java程序导出堆文件
|
5天前
|
Java Unix Windows
|
9天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
46 3
|
1天前
|
自然语言处理 Java 编译器
【Java探索之旅】方法重载 递归
【Java探索之旅】方法重载 递归
10 0
|
4天前
|
存储 前端开发 Java
Java实现文件分片上传
Java实现文件分片上传
8 0