2013-11-25 7 views
0

Я пытаюсь удалить все файлы, которые существуют в известном пути.Удалить файлы из известной папки

Я использовал следующую функцию, чтобы сделать это -

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(); 
     } 
    } 
} 

Но, кажется, что он никогда не попасть в, если заявление - думаю, это значит, что он не относится к директории, как один. Так что я делаю неправильно здесь?

+0

вы уверены, что значение 'path' правильно? –

ответ

2

Неверный вариант path. isDirectory() вернется false в следующих случаях:

  • путь указывает на файл (очевидно), а не в каталог.

  • Неверный путь (т. Е. Такого файла/каталога нет).

  • Существует Недостаточно разрешений, предоставляемых вашему приложению для определения , указывает ли путь в каталог.

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

Надеется, что это помогает.

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(); 
       } 
      } 
     } 
Смежные вопросы