从已知文件夹中删除文件

时间:2013-11-25 11:32:26

标签: android delete-file

我正在尝试删除已知路径中存在的所有文件。

我已经使用了下一个功能 -

public void deleteAllImages(){
     Log.d(TAG, "ENTERD DELETED ALL IMAGES ");
    String path = "/data/data/yourapp/app_data/imageDir/";
    File directory = new File(path);


    if (directory.isDirectory()){
         Log.d(TAG, "ENTERED IF ");
         for (File child : directory.listFiles()){
             Log.d(TAG, "ENTERED FOR "+ child);
             child.delete();
         }
    }
}

但似乎它从未进入if语句 - 猜测它意味着它不会将目录视为一个。那么我在这里做错了什么?

3 个答案:

答案 0 :(得分:2)

path很可能不正确。在以下情况下,isDirectory()将返回false

  • 路径指向文件(显然),而不指向目录。

  • 路径 无效(即没有这样的文件/目录存在)。

  • 有 没有足够的权限授予您的应用程序来确定 路径是否指向目录。

答案 1 :(得分:0)

试试这个:

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

请检查:Delete files from folder

希望这有帮助。

答案 2 :(得分:0)

试试这个......

        String path = "/data/data/yourapp/app_data/imageDir/"; 
        File file = new File(path);
        if(file.isDirectory()) {
            File[] files = file.listFiles();
            if(files != null && files.length > 0) {
              for (File file2 : files) {
                file2.delete();
              }
            }
        }