Java删除文件夹以及文件夹下的文件

2022-11-12  本文已影响0人  夜半雨1

删除前目录结构

image.png

删除后目录显示

image.png

代码

import java.io.File;
import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.jt56.constants.Constants;

public class FileUtil {
    static Logger logger = LoggerFactory.getLogger(FileUtil.class);
    
    /**
     * 删除目录及目录下的文件
     * @param file
     * @return
     */
    public static Boolean deleteFile(File file) {
        // 判断文件不为null或文件目录存在
        if (file == null || !file.exists()) {
            logger.error("文件" + file.getAbsolutePath() + "删除失败,请检查文件是否存在以及文件路径是否正确");
            return false;
        }
        
        // 获取子目录下文件
        File[] files = file.listFiles();
        // 遍历该目录下的文件对象
        for (File f: files) {
            // 判断子目录是否存在子目录,如果是文件则删除
            if (f.isDirectory()) {
                // 递归删除目录下的文件
                deleteFile(f);
            } else {
                // 文件删除
                f.delete();
                // 记录文件名
                logger.info("删除的文件为:" + f.getName());
            }
        }
        
        // 文件夹删除
        file.delete();
        logger.debug("目录名:" + file.getName());
        return true;
    }
    
    public static void main(String[] args) {
        String dirName = "D:\\pic\\20221112";   // 要删除的目录
        File file = new File(dirName);
        boolean result = FileUtil.deleteFile(file);
        if (result) {
            logger.info("删除文件成功");
        }
    }
}

控制台打印

image.png
上一篇 下一篇

猜你喜欢

热点阅读