Как удалить внутренний файл хранилища в android?

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

Ответ 1

File dir = getFilesDir();
File file = new File(dir, "my_filename");
boolean deleted = file.delete();

Ответ 2

Я знаю, что это немного похоже на старое, но docs говорят:

deleteFile("filename");

а не:

File.delete();

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

getFilesDir();

имеет смысл.

Ответ 3

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

myFile.delete();

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

myContext.deleteFile(fileName);

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

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

Ответ 4

Использовать метод delete File

Ответ 5

new File(mUri.toString).delete(); 

Ответ 6

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

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.
}

Ответ 7

 void clearMyFiles() {
    File[] files = context.getFilesDir().listFiles();
    if(files != null)
        for(File file : files) {
           file.delete();
        }
 }