如何删除Android上一个文件夹中的所有文件和文件夹

新手上路,请多包涵

我使用此代码删除所有文件:

 File root = new File("root path");
File[] Files = root.listFiles();
if(Files != null) {
    int j;
    for(j = 0; j < Files.length; j++) {
        System.out.println(Files[j].getAbsolutePath());
        System.out.println(Files[j].delete());
    }
}

它将删除 false,其中 Files[j] 是一个文件夹。

我想删除文件夹及其所有子文件。

我该如何修改?

原文由 brian 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

最简单的方法是使用 Apache Commons IO 库中的 FileUtils.deleteDirectory

 File dir = new File("root path");
FileUtils.deleteDirectory(dir);

请记住,这也会删除包含的目录。

在 gradle 文件中添加这一行以拥有 Apache

 compile 'org.apache.commons:commons-io:1.3.2'

原文由 Lesleh 发布,翻译遵循 CC BY-SA 3.0 许可协议

还要检查此链接 从 android 的内部存储中删除文件夹? .

 void deleteRecursive(File fileOrDirectory) {

    if (fileOrDirectory.isDirectory())
        for (File child : fileOrDirectory.listFiles())
            deleteRecursive(child);

    fileOrDirectory.delete();

}

原文由 duggu 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题