删除指定文件夹或文件

package com.example.file;

import java.io.File;

/**
 * @author :zhangbocong
 * @version :V1.0
 * @program :spring_boot_demo
 * @date :Created in 2021年2月19日 16:52
 * @description :删除指定文件或文件目录
 */
public class DeleteFile {
    /**
     * 判断指定的文件或文件夹删除是否成功
     * @param FileName 文件或文件夹的路径
     * @return true or false 成功返回true,失败返回false
     */
    public static boolean deleteAnyone(String FileName) {
        File file = new File(FileName);//根据指定的文件名创建File对象

        if (!file.exists()) {  //要删除的文件不存在
            System.out.println("文件" + FileName + "不存在,删除失败!");
            return false;
        } else { //要删除的文件存在
            if (file.isFile()) { //如果目标文件是文件
                return deleteFile(FileName);
            } else {  //如果目标文件是目录
                return deleteDir(FileName);
            }
        }
    }

    /**
     * 判断指定的文件删除是否成功
     * @param fileName 文件路径
     * @return true or false 成功返回true,失败返回false
     */
    public static boolean deleteFile(String fileName) {
        File file = new File(fileName);//根据指定的文件名创建File对象
        if (file.exists() && file.isFile()) { //要删除的文件存在且是文件
            if (file.delete()) {
                System.out.println("文件" + fileName + "删除成功!");
                return true;
            } else {
                System.out.println("文件" + fileName + "删除失败!");
                return false;
            }
        } else {
            System.out.println("文件" + fileName + "不存在,删除失败!");
            return false;
        }
    }

    /**
     * 删除指定的目录以及目录下的所有子文件
     * @param dirName is 目录路径
     * @return true or false 成功返回true,失败返回false
     */
    public static boolean deleteDir(String dirName) {
        if (dirName.endsWith(File.separator)) {
            //dirName不以分隔符结尾则自动添加分隔符
            dirName = dirName + File.separator;
        }
        //根据指定的文件名创建File对象
        File file = new File(dirName);
        //目录不存在或者不是目录
        if (!file.exists() || !file.isDirectory()) {
            System.out.println("目录删除失败" + dirName + "目录不存在!");
            return false;
        }
        //列出源文件下所有文件,包括子目录
        File[] fileArrays = file.listFiles();
        //将源文件下的所有文件逐个删除
        for (int i = 0; i < fileArrays.length; i++) {
            DeleteFile.deleteAnyone(fileArrays[i].getAbsolutePath());
        }
        //删除当前目录
        if (file.delete()) {
            System.out.println("目录" + dirName + "删除成功!");
        }
        return true;
    }

    /**
     * 删除指定目录下的文件(包括目录)
     **/
    public static void main(String[] args) {
        //创建目标文件路径
        String fileName = "D:\\logs\\spring_boot_demo_2021-01-25.log";
        DeleteFile.deleteAnyone(fileName);//调用删除目标文件方法
    }
}