Android:如何删除内部图像文件

时间:2010-08-10 17:52:25

标签: android storage internal

我想做什么:从我的应用中的私人内部存储中删除图像文件。我将图像保存在内部存储中,以便在卸载时删除它们。

我已成功创建并保存:

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,允许我读取内容,我并不在乎 - 我只是想删除它。

有人能指出我正确的方向删除存储在内部存储器中的文件吗?

1 个答案:

答案 0 :(得分:23)

您所要做的就是调用deleteFile(imageName)方法。

if(activity.deleteFile(imageName))
    Log.i(TAG, "Image deleted.");

完成!