首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中删除目录内容?

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

Stack Overflow用户
提问于 2011-10-14 21:08:57
回答 7查看 151.2K关注 0票数 93

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

我使用:

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

但这并没有删除目录。

EN

回答 7

Stack Overflow用户

发布于 2011-10-14 21:10:31

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

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);
票数 131
EN

Stack Overflow用户

发布于 2011-12-26 12:24:09

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

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

此功能将目录删除文件夹和其中的所有文件。

票数 105
EN

Stack Overflow用户

发布于 2011-10-14 21:12:15

不能在数组上删除!这应该能更好地工作:

for (File f : files) f.delete();

但是如果文件夹不是空的,它就不会工作。对于这种情况,您需要递归地下降到文件夹层次结构并删除所有内容。是的,很遗憾Java在默认情况下不能做到这一点……

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7768071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档