从Android中的应用程序目录文件夹中删除文件?

Tul*_*hod -1 android

我在应用程序目录中创建了文件夹。

File dir = new File(getActivity().getFilesDir().getParent() + File.separator + "Image directory");
Run Code Online (Sandbox Code Playgroud)

在那我再次创建了指定内容的文件夹

File dir1 = new File(getActivity().getFilesDir().getParent() + File.separator + "Image directory" + File.separator+ "Image 1");
Run Code Online (Sandbox Code Playgroud)

在里面我要存储图像。图像被存储和访问。

我想删除存储在 dir1 位置的所有图像。

我试过

if(dir1.isDirectory())
{
    for (int j = 0; j < dir1.length; j++)
    {
        File file = new File(dir1, dir1[j]);
        //file.canExecute();
        file.delete(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

file.delete(); 每次都返回false。

我在清单中添加了权限

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
Run Code Online (Sandbox Code Playgroud)

MDM*_*lik 5

在您使用的file.delete方法中,bundle不知道它来自哪里。

下面的代码将删除您的所有文件 Image Directory

File dir1 = new File(getActivity().getFilesDir().getParent() + File.separator + "Image directory" + File.separator+ "Image 1");
if (dir1 .isDirectory()) {
        String[] children = dir1 .list();
        for (int i = 0; i < children.length; i++) {
            new File(dir1 , children[i]).delete();
        }
    }
Run Code Online (Sandbox Code Playgroud)

确保您有权在您已经拥有的外部存储器中进行写入

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
Run Code Online (Sandbox Code Playgroud)