I just followed a Tutorial for Serialization and I wonder why it doesn’t work. I have a game Class like this:
import java.io.Serializable;
public class Game implements Serializable{
private static final long serialVersionUID = -4795536311274486893L;
protected int SHOT_SPEED;
protected int PLAYER_SPEED;
Player player;
ArrayList<SpaceObject> objects;
int level, score;
Dimension resolution;
and so on...
And my reader methods, which should handle the Object IO looks like this:
public boolean saveGame(Game game) {
try {
FileOutputStream fileOut = new FileOutputStream(defaultDataName+".ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(game);
out.close();
fileOut.close();
return true;
}
catch (IOException i) {
return false;
}
}
public Game loadGame() throws IOException {
if (readRawData(defaultDataName) == "") throw new IOException("Data was deleted");
Game game = null;
try {
FileInputStream fileIn = new FileInputStream(defaultDataName+".ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
game = (Game) in.readObject();
in.close();
fileIn.close();
}
catch (ClassNotFoundException e) {
throw new IOException("Class not Found: " + e.getMessage());
}
return game;
}
To my mind I did everything exactly like in the tutorial, so why doesn’t it works out. (it throws an ClassNotFoundError. Thanks for your help!
Every class that is contained within a Serializable marked class should be serializable. I think that’s the error you get.