Проблемы с чтением файла
Всем привет. Выдается такая ошибка:
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at com.rars.touch.handler.Save.load(Save.java:40)
at com.rars.touch.states.State.<init>(State.java:31)
at com.rars.touch.states.MenuState.<init>(MenuState.java:16)
at com.rars.touch.TouchMe.create(TouchMe.java:32)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
Вот сам код, ошибка вылазит, когда запускаю методы save и load:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import com.badlogic.gdx.Gdx;
public class Save {
public static GameData gd;
public static void init() {
gd = new GameData();
gd.Init();
save();
}
public static void save() {
try {
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("highscore.txt"));
out.writeObject(gd);
out.close();
} catch(Exception e) {
e.printStackTrace();
Gdx.app.exit();
}
}
public static void load() {
try {
if(!saveFileExist()) {
init();
return;
}
ObjectInputStream in = new ObjectInputStream(new FileInputStream("highscore.txt"));
gd = (GameData) in.readObject();
in.close();
} catch(Exception e) {
e.printStackTrace();
Gdx.app.exit();
}
}
public static boolean saveFileExist() {
File f = new File("highscore.txt");
return f.exists();
}
}
Источник: Stack Overflow на русском