android 文件存储删除,从android内部存储中删除文件夹?

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

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());

但上面的代码显示为false。 请帮忙。

看一下这个。

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

解释如何删除整个文件夹和内容?

如果子文件夹包含任何文件,则无法删除根文件夹。 因此,您必须先删除每个子文件,然后才能删除该文件夹。

您的代码有效,我只是更新如下:

boolean deleted = mypath.delete();

即。 mypath是你的文件目录。

让我先告诉你,你无法删除Rootfolder,因为它是一个系统文件夹。 当您在手机上手动删除它时,它将删除该文件夹的内容,但不删除Root文件夹。 您可以使用以下方法删除其内容:

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

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

FileUtils.deleteDirectory(getAlbumStorageDir(directoryName));