Что я хочу сделать: удалить файл изображения из внутренней внутренней памяти в моем приложении. Я сохраняю изображения во внутреннем хранилище, поэтому они удаляются при удалении приложения.
Я успешно создал и сохранил:
String imageName = System.currentTimeMillis() + ".jpeg";
FileOutputStream fos = openFileOutput(imageName, Context.MODE_PRIVATE);
bitmap.compress(Bitmap.CompressFormat.JPEG, 35, fos);
изображение, которое я получаю через
bitmap = BitmapFactory.decodeStream(inputStream);
Я могу получить изображение позже для отображения:
FileInputStream fis = openFileInput(imageName);
ByteArrayOutputStream bufStream = new ByteArrayOutputStream();
DataOutputStream outWriter = new DataOutputStream(bufStream);
int ch;
while((ch = fis.read()) != -1)
outWriter.write(ch);
outWriter.close();
byte[] data = bufStream.toByteArray();
bufStream.close();
fis.close();
imageBitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
Теперь я хочу удалить этот файл навсегда. Я попытался создать новый файл и удалить его, но файл не найден:
File file = new File(imageName);
file.delete();
Я прочитал на веб-сайте разработчика Android, что я должен открыть частные внутренние файлы с помощью метода openFileInput(...)
, который возвращает InputStream, позволяющий мне прочитать содержимое, которое мне действительно неинтересно - я просто хочу его удалить.
может ли кто-нибудь указать мне в правильном направлении для удаления файла, который хранится во внутреннем хранилище?