• Java 之递归删除目录


    Java 之递归删除目录

    一、思想

      必须从最里层的文件开始删除,使用递归删除。

    二、源代码:RecursiveDeleteDirectory.java

     1 package cn.com.zfc.day016;
     2 
     3 import java.io.File;
     4 
     5 /**
     6  * @describe 递归删除目录
     7  * @author zfc
     8  * @date 2018年1月1日 上午8:44:55
     9  */
    10 public class RecursiveDeleteDirectory {
    11 
    12     public static void main(String[] args) {
    13         String directoryName = "F:\大数据培训软件";
    14         // 1、映射目录文件
    15         File directory = new File(directoryName);
    16         // 2、调用方法
    17         recursiveDeleteDirectory(directory);
    18     }
    19 
    20     /**
    21      * 删除指定目录下面的文件名称,包括子目录
    22      * 
    23      * @param directoryName:目录名称
    24      * @author zfc
    25      * @date 2018年1月1日上午8:46:08
    26      *
    27      */
    28     public static void recursiveDeleteDirectory(File directory) {
    29         // 1、判断映射的目录文件是否存在?
    30         if (!directory.exists()) {
    31             // 不存在则直接返回
    32             return;
    33         }
    34         // 2、判断是否是目录?
    35         if (!directory.isDirectory()) {
    36             // 不是目录,判断是否是文件?
    37             if (directory.isFile()) {
    38                 System.out.println("是文件,文件绝对路径:" + directory.getAbsolutePath() + ",删除文件:" + directory.delete());
    39             }
    40         } else {
    41             // 是目录,获取该目录下面的所有文件(包括目录)
    42             File[] files = directory.listFiles();
    43             // 判断 files 是否为空?
    44             if (null != files) {
    45                 // 遍历文件数组
    46                 for (File f : files) {
    47                     // 判断是否是目录?
    48                     if (f.isDirectory()) {
    49                         // 是目录,则递归目录
    50                         recursiveDeleteDirectory(f);
    51                     } else {
    52                         // 不是目录,判断是否是文件?
    53                         if (f.isFile()) {
    54                             System.out.println("是文件,文件绝对路径:" + f.getAbsolutePath() + ",删除文件:" + f.delete());
    55                         }
    56                     }
    57                 }
    58             }
    59             System.out.println("是本次最外层目录,目录的绝对路径:" + directory.getAbsolutePath() + ",删除目录:" + directory.delete());
    60 
    61         }
    62     }
    63 }

    三、运行结果

  • 相关阅读:
    获取具有指定扩展数据的所有实体的Id,并存入Id数组中
    FastDFS单机版安装教程
    Git简要开发流程
    Delay延迟队列
    HTTP调用接口方法
    Tomcat为什么要使用Facde模式对Request对象进行包装?
    SpringBoot注解
    <th:>标签使用
    Git命令速查表
    IDEA中对Git的常规操作(合并,提交,新建分支,更新)
  • 原文地址:https://www.cnblogs.com/zfc-java/p/8166186.html
Copyright © 2020-2023  润新知