如何在Java中删除目录内容?

2022-08-31 10:53:19

枚举目录后,我现在需要删除所有文件。

我用过:

final File[] files = outputFolder.listFiles();
files.delete();

但这并没有删除目录。


答案 1

您必须为每个文件执行此操作:

public static void deleteFolder(File folder) {
    File[] files = folder.listFiles();
    if(files!=null) { //some JVMs return null for empty dirs
        for(File f: files) {
            if(f.isDirectory()) {
                deleteFolder(f);
            } else {
                f.delete();
            }
        }
    }
    folder.delete();
}

然后致电

deleteFolder(outputFolder);

答案 2

要删除包含文件的文件夹,无需循环或递归搜索。您可以直接使用:

FileUtils.deleteDirectory(<File object of directory>);

此函数将删除文件夹及其中的所有文件。