Возможный дубликат:
Удаление папки на SD-карте
В моем приложении я сохранил все свои данные с помощью внутреннего хранилища, то есть файла. Итак, в первом случае с помощью ContextWrapper cw = new ContextWrapper(getApplicationContext());
class я получает путь к m_AllPageDirectoryPath = cw.getDir("AllPageFolder", Context.MODE_PRIVATE);
как m_AllPageDirectoryPath = cw.getDir("AllPageFolder", Context.MODE_PRIVATE);
Внутри этого пути каталогов я сохранил файл File как Page01, page02, Page03 и т.д.
Снова внутри. Я сохранил некоторый файл, например image01, image02... используя ту же концепцию m_PageDirectoryPath = cw.getDir("Page01", Context.MODE_PRIVATE);
Теперь при удалении m_AllPageDirectoryPath я хочу удалить все связанные с ним файлы. Я пробовал использовать этот код, но он не работает.
File file = new File(m_AllPageDirectoryPath.getPath());
file.delete();
Ваш код работает только в том случае, если ваш каталог пуст.
Если ваш каталог содержит файлы и вспомогательные каталоги, вам необходимо удалить все файлы рекурсивно.
Попробуйте этот код,
// Deletes all files and subdirectories under dir.
// Returns true if all deletions were successful.
// If a deletion fails, the method stops attempting to delete and returns false.
public static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i=0; i<children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
// The directory is now empty so delete it
return dir.delete();
}
(На самом деле вам нужно искать в Интернете, прежде чем задавать такие вопросы)