java删除非空文件夹

Posted luffy5459

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java删除非空文件夹相关的知识,希望对你有一定的参考价值。

    java中删除文件和空文件夹很简单,直接调用File api ,file.delete()就可以删除文件或者空文件夹本身。但是如果是非空文件夹,这个方法就会失败,就像在linux下我们使用命令rm删除非空文件夹一样,它会提示文件夹不为空,我们需要加上-r参数强制递归删除,才能将这个文件夹删除。

    java中删除非空文件夹也类似,如果要删除,必须要连带文件夹中的内容一起删除,所以这里也需要递归删除。

    思路很简单,因为我们删除的是文件夹,所以这里先列出文件夹中的文件,如果是文件直接删除,如果是文件夹,继续递归调用删除方法,最后还要将空文件夹本身删除。

    show me the code:

package com.xxx.oop;
import java.io.File;
public class Hello 

    public static void deleteDir(String path)
        File file = new File(path);
        File[] list = file.listFiles();
        for(File f:list)
            if(f.isDirectory())
                deleteDir(f.getPath());
            else
                f.delete();
            
        
        boolean deleted = file.delete();
        System.out.println(deleted);
    

    public static void main(String[] args) 
        String path = "C:\\\\Users\\\\buejee\\\\Desktop\\\\test";
        deleteDir(path);
    

         这个代码本身没有难度,就是一个简单的递归调用,但是却很管用。这种方式,不管删除空文件夹还是非空文件夹都好使。

以上是关于java删除非空文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Java - JavaSE - 概述

[Windows]_[删除非空文件夹的注意要点]

day1 java基础

day01-java开发前奏

删除表空间及数据文件

oracle 删除表空间及数据文件方法