删除当前目录下所有文件以及空文件夹

业务中遇到,记录一下

    /**
     * 删除指定目录下的空文件夹,不包括自身
     *
     * @param file 文件总目录 file
     */
    public static void deleteFolder(File file) {
        File[] files = file.listFiles();
        if (files != null) {//如果包含文件进行删除操作
            for (File value : files) {
                if (value.isFile()) {
                    //删除子文件
                    value.delete();
                } else if (value.isDirectory()) {
                    //通过递归的方法找到子目录的文件
                    deleteFolder(value);
                }
                value.delete();//删除子目录
            }
        }
    }

当包含文件时不进行删除

    /**
     * 删除指定目录下的空文件夹,不包括自身目录
     */
    public boolean deleteEmptyFolder(String srcPath) {
        File file = new File(srcPath);
        List<String> fileList = getFiles(new ArrayList<String>(), file);
        //log.info(fileList.size() + "------------" + file.getName());
        if (fileList.size() == 0) {
            deleteFolder(file);
            return true;
        } else {
            log.info("[(" + file.getName() + ")有文件存在,不进行删除]");
            return false;
        }
    }

运行

    public static void main(String[] args) {
      File file =new File("D:\\test")
      deleteEmptyFolder(file) ? "[空文件夹删除成功!!]" : "[删除失败!]"
}
posted @   xiaolifc  阅读(225)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示