Что я хочу сделать: удалите файл изображения из частной внутренней памяти в моем приложении. Я сохраняю образы во внутренней памяти, таким образом, они удалены на удалении приложения.
Я успешно создал и сохранил:
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();
Я читал на веб-сайте разработчика андроида, который я должен открыть частные внутренние файлы с помощью openFileInput(...)
метод, который возвращает InputStream, разрешающий мне считать содержание, о котором я действительно не забочусь о - я просто, хочет удалить его.
кто-либо может указать на меня в правильном направлении для удаления файла, который хранится во внутренней памяти?
Эрг, я сам нашел ответ. И простой ответ: (
Все, что вам нужно сделать, это вызвать метод deleteFile (imageName)
.
if(activity.deleteFile(imageName))
Log.i(TAG, "Image deleted.");
Готово!