我无法删除存储在缓存中的文件。我出于多种目的使用缓存。我正在阅读和写作但无法删除。有人可以帮我解决这个问题吗?
//write
public static void writeObject(Context context, String key, Object object)
throws IOException {
Log.d("Cache", "WRITE: context");
FileOutputStream fos = context.openFileOutput(key, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(object);
oos.close();
fos.close();
}
//read
public static Object readObject(Context context, String key) throws IOException,
ClassNotFoundException {
FileInputStream fis = context.openFileInput(key);
ObjectInputStream ois = new ObjectInputStream(fis);
Object object = ois.readObject();
return object;
}
//delete
public static void clearCahe(String key) throws IOException,ClassNotFoundException {
File file = new File(key);
file.delete();
}
最佳答案
context.openFileOutput(key
将文件写入内部存储器。您可以使用 getFilesDir() 找到的路径,看起来像 /data/data/<yourpackagename>/files
.
所以如果你想删除文件'key',你必须为File file = new File(path)
设置路径作为String path = getFilesDir().getAbsolutePath() + "/" + key;
.
并使用 file.exists() 检查文件是否存在!
关于java - 如何删除存储在缓存中的文件? (安卓),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29893292/