保存一个 Object[][] 并加载它
Posted
技术标签:
【中文标题】保存一个 Object[][] 并加载它【英文标题】:Save an Object[][] and load it 【发布时间】:2016-07-09 18:56:48 【问题描述】:我目前有一个 Object[][]
包含一个 2D 数组,这个数组将使用临时数组和不增加大小的东西进行操作(这是我到目前为止所知道的)。
我想要在程序退出时保存新的Object[][]
实例,然后在它启动时我希望加载新的Object[][]
。我正在考虑将其设为文件,然后使用标记器在开始时填充Object[][]
。我的方向正确吗?
【问题讨论】:
如果你的程序退出,对象显然丢失了。您需要将其信息保存在某处,例如:作为 json 文件,看看 Google 的 gson,很简单 sites.google.com/site/gson/gson-user-guide 看看ObjectInputStream
和ObjectOutputStream
。 This tutorial 也可能有帮助。
【参考方案1】:
这就是我能够弄清楚如何保存和加载 Object[][] 的方法。
要保存文件,我首先必须有一个包含至少一个 Object 数组的 Object[][] 变量。然后我保存/创建了文件,如下所示:
public void saveFile(Object[] variable)
ObjectOutputStream oos = new ObjectOutputStream(new
FileOutputStream(filename));
oos.writeObject(variable);
oos.close();
然后像这样加载它:
public void loadFile()
ObjectInputStream ois = new ObjectInputStream(new
FileInputStream(filename));
players = (Object[][]) ois.readObject();
ois.close();
我知道我只是用新文件覆盖文件,但这是我能想到的最佳解决方案。谢谢@MasterBlaster 的帮助,还有@MadMatts 我只是不知道如何使用gson,也许我会再找一次,但还是谢谢你!
【讨论】:
以上是关于保存一个 Object[][] 并加载它的主要内容,如果未能解决你的问题,请参考以下文章
将图像加载到画布上并放大/缩小并移动它以适应并保存画布上的内容
在 Android APK 2.2 及更高版本中保存和加载 Object[] 信息
是否有人在加载 Keras 保存的模型时得到“AttributeError: 'str' object has no attribute 'decode'”