【问题标题】:How to delete file in android?如何删除android中的文件?
【发布时间】:2019-11-24 19:34:39
【问题描述】:

我已使用 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

Ex ^(文件夹层次结构)

data
    user
        0
         packageName
                    files
                        155775346846131
                                       otherData

我想删除155775346846131 文件夹

【问题讨论】:

  • @A.Najafi 先生,我知道它与这个问题有关,但这个解决方案对我不起作用
  • 您需要先删除该文件夹中的所有文件,然后才能删除该文件夹。您只能删除空文件夹。
  • 如果您的文件夹中有文件,请先删除文件,然后删除文件夹/目录

标签: java android


【解决方案1】:

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

public void deleteFolderRecursive(File fileOrDirectory) {

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

 fileOrDirectory.delete();
}

【讨论】:

    【解决方案2】:

    您可以删除文件夹中的文件,如下所示,

    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?

    别忘了给存储权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多