Я пытаюсь удалить изображения, хранящиеся во внутренней памяти. Я до сих пор придумал это:
File dir = getFilesDir();
File file = new File(dir, id+".jpg");
boolean deleted = file.delete();
И это из другого вопроса, на который был дан ответ :
File dir = getFilesDir();
File file = new File(dir, "my_filename");
boolean deleted = file.delete();
Мой пример всегда возвращает false. Я вижу файл fx 2930.jpg
в DDMS в eclipse.
inputHandle.getImgPath(id)
находится filePathВы пробовали Context.deleteFile () ?
источник
new OutputStreamWriter(context.openFileOutput(fileName, Context.MODE_PRIVATE)).write(data);
Это работает для меня:
источник
Код
File dir = getFilesDir();
не работает, потому что это запрос объекта File. Вы пытаетесь получить String, который объявляет путь к вашему каталогу, поэтому вам нужно объявить 'dir' как String, а затем запросить, чтобы абсолютный путь каталога в форме String был возвращен конструктором, имеющим доступ к этой информации .источник
Вы также можете использовать:
file.getCanonicalFile().delete();
источник
не работает в моем случае.
всегда возвращает false.
Проблема была решена с помощью следующего кода:
источник
Вы пробовали
getFilesDir().getAbsolutePath()
?Кажется, вы устранили проблему, инициализировав объект File с полным путем. Я считаю, что это тоже поможет.
источник
Это старая тема, но я добавлю свой опыт, может кто-то сочтет это полезным
решение1:
здесь я инициализирую преобразователь контента и удаляю его с переданным параметром этого URI
решение2 (мое первое решение - из головы в это время я это знаю): существует преобразователь контента ...
Надеюсь, что это поможет кому-то счастливому кодированию
источник