如何在Android中删除文件?

时间:2019-07-16 06:02:11

标签: java android

我已使用android内部存储器为我的应用保存文件。

Ex

File rootFolder = context.getFilesDir();
File albumIdFolder = new File(rootFolder,getAlbumId());

基本上我要删除文件夹

所以我尝试了

 File rootFolder = context.getFilesDir();
 File albumIdFolder = new File(rootFolder,getAlbumId());
 albumIdFolder.delete()

但这不起作用不能删除文件夹

我读过这篇文章,但不适用于我的情况,请帮助我解决这个问题,我无法到达目的地。

Delete file from internal storage

How to delete internal storage file in android?

编辑2

例如文件夹

data
    user
        0
         packageName
                    files
                        155775346846131
                                       otherData

我要删除155775346846131文件夹

2 个答案:

答案 0 :(得分:1)

您可以使用以下文件夹删除文件,

void deleteFiles(Context context) {
    File rootFolder = context.getFilesDir();
    File fileDir = new File( rootFolder,getAlbumId());
    if (fileDir.exists()) {
        File[] listFiles = fileDir.listFiles();
        for (File listFile : listFiles) {
        if (!listFile.delete()) {
            System.err.println( "Unable to delete file: " + listFile );
        }
        }
    }
    rootFolder.delete();
}

来源:How to delete a whole folder and content?

不要忘记授予存储权限。

答案 1 :(得分:0)

您可以像这样递归删除文件和文件夹:

public void deleteFolderRecursive(File fileOrDirectory) {

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

 fileOrDirectory.delete();
}