Android:如何获取应用程序中所有缓存文件的列表



以下是我用来保存和加载缓存的函数:

public static void SAVE_CACHE(Context context, String key, Object object) throws IOException {
    FileOutputStream fos = context.openFileOutput(key, Context.MODE_PRIVATE);
    ObjectOutputStream oos = new ObjectOutputStream(fos);
    oos.writeObject(object);
    oos.close();
    fos.close();
}
public static Object LOAD_CACHE(Context context, String key) throws IOException,
        ClassNotFoundException {
    FileInputStream fis = context.openFileInput(key);
    ObjectInputStream ois = new ObjectInputStream(fis);
    Object object = ois.readObject();
    return object;
}

假设我在缓存中保存了 3 个对象Contact数组列表:

List<Contact> contacts = new ArrayList<Contact>();
contacts.add(new Contact());
SAVE_CACHE(context, "cache1", contacts);
SAVE_CACHE(context, "cache2", contacts);
SAVE_CACHE(context, "cache3", contacts);

是否可以获取哪些缓存键包含对象?我想要一个该缓存 1、缓存 2 和缓存 2 的数组列表。

首先,您需要指向存储文件的目录的指针,您可以使用以下命令从上下文对象中获取它,

File dir = context.getFilesDir()

这将返回一个类型为 File 的对象。对此,您可以使用函数 listFiles() 获取缓存文件列表,如下所示:

 dir.listFiles()

下面是具有这些功能的上下文和文件的文档,以供进一步阅读。

希望有帮助..

最新更新