gpt4 book ai didi

java - 使用 FileOutputStream 将数据结构写入文件?

转载 作者:行者123 更新时间:2023-12-01 14:24:48 25 4
gpt4 key购买 nike

我有一个 Android 应用程序,想要存储/检索我在 onPause()/onResume() 方法上创建的数据结构,以便数据在通过 FileOutputStream/FileInputStream 运行之间保持不变,这是标准做法为了这。

那么,如何将数据结构保存到文件中,以便稍后获取它(我见过使用字符串而不是其他对象执行此操作的示例)?除了为从字节数组创建这些对象的所有这些对象创建构造函数之外,我是否还被迫为我的数据结构及其包含的后续对象创建 getBytes() 函数?

编辑:啊,好的;所以这就是所谓的序列化。以下说法正确的是?

写:

FileOutputStream fileOut = new FileOutputStream("filename");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(e);
out.close();
fileOut.close();

阅读:

FileInputStream fileIn = new FileInputStream("filename");
ObjectInputStream in = new ObjectInputStream(fileIn);
e = (ObjectType) in.readObject();
in.close();
fileIn.close();

Edit2:此外,数据结构和包含的对象(和子对象)都应该实现可序列化。例如,如果我有一个由 Dogs 的 ArrayList 组成的 BST,那么我将使 BST、ArrayList 和 Dog 类全部实现 Serialized,然后调用上面的函数。

这一切都正确吗?

最佳答案

查看可序列化库 here 。这允许您将类直接写入非人类可读的文件,然后可以以相同的方式读回。

关于java - 使用 FileOutputStream 将数据结构写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17236640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com