我正在制作一个小游戏,现在正在处理序列化。我设法保存了battleground
对象的当前状态,但似乎无法加载它。
这是我的方法,它给了我语法错误:
//Reads a Battleground object from disk.
private Object readFromFile() {
FileInputStream saveFile = new FileInputStream("savegame.obj");
ObjectInputStream restore = ObjectInputStream(saveFile);
Object obj = restore.readObject();
String name = (String) restore.readObject();
restore.close();
}
我收到错误消息“找不到符号 - 方法 ObjectInputStream(java.io.FileInputStream)。在 Oracle Docs 中查找方法,方法中的参数应该属于那种类型。我已经导入了整个 java.io 库。任何输入?这是错误的方法吗?我需要一个加载游戏的方法。我的其他保存方法如下所示:
// Saves the Battleground object to disk.
private void saveToFile() {
try{
// Serialize data object to a file
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("Savegame.obj"));
out.writeObject(battleground);
out.close();
// Serialize data object to a byte array
ByteArrayOutputStream bos = new ByteArrayOutputStream() ;
out = new ObjectOutputStream(bos) ;
out.writeObject(battleground);
out.close();
// Get the bytes of the serialized object
byte[] buf = bos.toByteArray();
} catch (IOException e) {
}
}