从Android的内部存储删除文件夹?(Delete folder from internal st

2019-08-02 19:18发布

如何删除文件夹(包含一些文件夹和文件)从内部存储? 文件夹中有以下一些树。

folder
|_________  C2 (folder)
             |________1 (folder)
                      |________1.gif
                      |________2.gif
                      |________3.gif
                      |________4.gif
             |________2 (folder)
                      |________1.gif
                      |________2.gif
                      |________3.gif
                      |________4.gif
             |________3 (folder)
                      |________1.gif
                      |________2.gif
                      |________3.gif
                      |________4.gif
             |________4 (folder)
                      |________1.gif
                      |________2.gif
                      |________3.gif
                      |________4.gif
             |________5 (folder)
                      |________1.gif
                      |________2.gif
                      |________3.gif
                      |________4.gif

|_________  C2.xml (file)

我想删除文件夹,包含的所有文件

fil.delete();

System.out.println("boolean =>" + fil.delete());

但上面的代码显示错误的。 请帮忙。

Answer 1:

看一下这个。

public void deleteRecursive(File fileOrDirectory) {

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

   fileOrDirectory.delete();
 }

为交代如何删除整个文件夹和内容?



Answer 2:

如果子文件夹中包含的任何文件不能删除根文件夹。 所以,你必须首先删除每个子文件,然后你就可以删除该文件夹。

你的代码是有效的,我只是喜欢更新:

 boolean deleted = mypath.delete();

即。 mypath是你的文件目录。



Answer 3:

让我告诉你,首先你不能删除Rootfolder,因为它是一个系统文件夹。 当你手动删除它的手机将删除该文件夹的内容,而不是根文件夹。 您可以通过以下方法删除的内容:

private void DeleteRecursive(File fileOrDirectory) {
    if (fileOrDirectory.isDirectory())
        for (File child : fileOrDirectory.listFiles())
        {
            child.delete();
            DeleteRecursive(child);
        }

    fileOrDirectory.delete();
}


Answer 4:

使用Apache的commons-io的,这只是一行代码。

FileUtils.deleteDirectory(getAlbumStorageDir(directoryName));


文章来源: Delete folder from internal storage in android?