Как удалить файл внутреннего хранилища в Android? - PullRequest
39 голосов
/ 24 августа 2010

Я использовал внутреннее хранилище Android для сохранения файла для своего приложения (используя openFileOutput), но я хотел бы удалить этот файл, возможно ли это и как?

Ответы [ 7 ]

93 голосов
/ 24 августа 2010
File dir = getFilesDir();
File file = new File(dir, "my_filename");
boolean deleted = file.delete();
18 голосов
/ 21 ноября 2012

Я знаю, что это немного старомодно, но документы говорят, чтобы использовать:

deleteFile("filename");

вместо:

File.delete();

Что, если вы уже используете:

getFilesDir();

вроде имеет смысл.

3 голосов
/ 20 ноября 2014

Вы всегда должны удалять файлы, которые вам больше не нужны.Самый простой способ удалить файл - это вызвать ссылку на открытый файл delete () на себя.

myFile.delete();

Если файл сохранен во внутренней памяти, вы также можетепопросите Контекст найти и удалить файл, вызвав deleteFile ():

myContext.deleteFile(fileName);

Примечание. Когда пользователь удаляет ваше приложение, система Android удаляет следующее: Все файлы, которые вы сохранили.на внутреннем хранилище Все файлы, которые вы сохранили на внешнем хранилище, используя getExternalFilesDir().Однако вам следует регулярно вручную удалять все кэшированные файлы, созданные с помощью getCacheDir(), а также регулярно удалять другие файлы, которые вам больше не нужны.

Источник : http://developer.android.com/training/basics/data-storage/files.html

2 голосов
/ 19 ноября 2016

Если вы хотите удалить все файлы из папки, используйте следующую функцию:

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

Папка должна присутствовать в хранилище.Если нет, мы можем проверить еще одну кодировку.

  if (myDir.exists() && myDir.isDirectory()) {
//write same defination for it.
}
1 голос
/ 06 августа 2017
 void clearMyFiles() {
    File[] files = context.getFilesDir().listFiles();
    if(files != null)
        for(File file : files) {
           file.delete();
        }
 }
1 голос
/ 28 июля 2011
new File(mUri.toString).delete(); 
1 голос
/ 24 августа 2010

Использование delete метод Файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...