Проблемы с чтением файла

Рейтинг: 1Ответов: 0Опубликовано: 05.01.2015

Всем привет. Выдается такая ошибка:

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();
    }
}

Ответы

Ответов пока нет.