美文网首页
Java删除文件夹以及文件夹下的文件

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

作者: 夜半雨1 | 来源:发表于2022-11-12 20:11 被阅读0次

    删除前目录结构

    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

    相关文章

      网友评论

          本文标题:Java删除文件夹以及文件夹下的文件

          本文链接:https://www.haomeiwen.com/subject/mdoqxdtx.html