jam*_*mes 10 storage android internal
我想做什么:从我的应用程序中的私人内部存储中删除图像文件.我将图像保存在内部存储中,以便在卸载时删除它们.
我已成功创建并保存:
String imageName = System.currentTimeMillis() + ".jpeg";
FileOutputStream fos = openFileOutput(imageName, Context.MODE_PRIVATE);
bitmap.compress(Bitmap.CompressFormat.JPEG, 35, fos);
Run Code Online (Sandbox Code Playgroud)
我收到的图像
bitmap = BitmapFactory.decodeStream(inputStream);
Run Code Online (Sandbox Code Playgroud)
我可以稍后检索图像进行显示:
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);
Run Code Online (Sandbox Code Playgroud)
我现在想要永久删除此文件.我试过创建一个新文件并将其删除,但找不到该文件:
File file = new File(imageName);
file.delete();
Run Code Online (Sandbox Code Playgroud)
我已经在Android开发者网站上看到我必须使用openFileInput(...)返回一个InputStream 的方法打开私有内部文件,这个方法允许我读取内容,我并不在乎 - 我只是想删除它.
任何人都可以指出我正确的方向删除存储在内部存储中的文件?
jam*_*mes 23
Erg,我自己找到了答案.简单的回答:(
您所要做的就是调用deleteFile(imageName)方法.
if(activity.deleteFile(imageName))
Log.i(TAG, "Image deleted.");
Run Code Online (Sandbox Code Playgroud)
完成!