Проблема с выводом Объекта из файла

178
08 июля 2019, 00:30

Создаю небольшое приложение, при нажатии на кнопку регистрации создается объект.

public void actionPerformed(ActionEvent e) {
            if(tfLogin.getText().length()>=0 && tfPassword.getText().length()>=0 && tfPasswordTwo.getText().equals(tfPassword.getText())){
                AllGamers.saveAccaunt(new LoginAndPass(tfLogin.getText(), tfPassword.getText()));
            }

Потом объект сохраняется в файл:

    public static void saveAccaunt(LoginAndPass gamers){
    try {
        FileOutputStream fileOutputStream = new FileOutputStream("SaveAc",true);
        ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
        objectOutputStream.writeObject(gamers);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Тут работает всё нормально, когда считываю файл тоже всё нормально:

        try {
        FileInputStream fileInputStream = new FileInputStream("SaveAc");
        ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
        Object o = objectInputStream.readObject();
        LoginAndPass l1 = (LoginAndPass) o;
        System.out.println(l1.getLogin());
        System.out.println(l1.getPassword());
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

Проблема заключается в том, что когда хочу в файл добавить ещё один аккаунт, то есть ещё один объект, вроде оно его добавляет, но когда пытаюсь их считать то выдаёт ошибку:

 try {
        FileInputStream fileInputStream = new FileInputStream("SaveAc");
        ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
        Object o = objectInputStream.readObject();
        LoginAndPass l1 = (LoginAndPass) o;
        System.out.println(l1.getLogin());
        System.out.println(l1.getPassword());
        Object o1 = objectInputStream.readObject();
        LoginAndPass l2 = (LoginAndPass) o1;
        System.out.println(l2.getLogin());
        System.out.println(l2.getPassword());

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

Вот код ошибки:

java.io.StreamCorruptedException: invalid type code: AC
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1601)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
at Registratsiya.AllGamers.main(AllGamers.java:32)
READ ALSO
Цвет ссылки текущей страницы

Цвет ссылки текущей страницы

Есть листинг (новостей), а данный момент выглядит это так:

191
Сортировка змейкой массива Js

Сортировка змейкой массива Js

Нужно отсортировать массив змейкой по такому принципу:

194
конвертор валют jQuery ,как получить значение из валюты из селект бокса

конвертор валют jQuery ,как получить значение из валюты из селект бокса

Пишу конвертор грн -> валюту которую выберет юзер из селект бокса как получить значение той валюты из json которую выберет пользователь из селекта...

178