【问题标题】:File not deleting successfully in android文件未在android中成功删除
【发布时间】:2014-06-30 16:47:44
【问题描述】:

我的 SD 卡中的 req_images 文件夹中有几个图像文件。我想删除此文件夹中的所有图像文件。所以我写了下面的代码。 arraylist f 以 /mnt/sdcard/req_images/Image-1.jpg 的形式存储其中所有图像文件的列表。当我尝试使用 for 循环一一删除所有文件时,这些文件并没有从我的 SD 卡中删除。当我尝试删除所有文件时,作为输出得到的布尔结果是错误的。该文件仍然存在于sd卡中,我已经检查过了。其中可能出现的错误是什么。

ArrayList<String> f = new ArrayList<String>();   // list of available files in  path
  File[] listFile;
public void getSdcardImages()
  {
File file= new File(android.os.Environment.getExternalStorageDirectory(),"req_images");

    if (file.isDirectory())
    {
        listFile = file.listFiles();


        for (int i = 0; i < listFile.length; i++)
        {

            f.add(listFile[i].getAbsolutePath());

        }
    }
 }
for(int h=0;h<f.size();h++)
{
File fil=new File(f.get(h));
Boolean bool= fil.delete();
Log.d("File deletion status"+h,bool.toString());
}

【问题讨论】:

  • 这是在 Android 4.4.2 上吗?
  • @Tim S Van Haren。不.. Android 4.1.1
  • android 4.4.2有什么问题??
  • 在清单中写入外部存储权限?
  • @greenapps。我已经在清单中给予了许可。但是还是没用……

标签: android file android-sdcard


【解决方案1】:

不要这样做,而是尝试不同的方法

File dir = new File(Environment.getExternalStorageDirectory() + "/req_images"); 
if (dir.isDirectory()) {
     String[] children = dir.list();
     for (int i = 0; i < children.length; i++) {
        new File(dir, children[i]).delete();
     }
}

【讨论】:

  • 如果要删除文件,请不要使用 mkdirs()。
猜你喜欢
  • 1970-01-01
  • 2022-10-04
  • 2019-09-01
  • 2017-09-30
  • 2016-08-10
  • 2012-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多