ObjectOutputStream, ObjectInputStream писать и читать постоянно - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь записать пример данных в файл .txt через ObjectOutputStream.После этого я хочу прочитать письменный результат и показать его в моем приложении.Работает отлично.Но когда я пытаюсь прочитать результат после повторного открытия приложения, он показывает мне только нулевые значения.У кого-нибудь есть идея, как написать эти данные на постоянной основе, чтобы при повторном открытии приложения после выполнения ObjectInputStream показывались те же данные, что и раньше?

Метод ObjectOutputStream для добавления команды:

    public void addTeam(String teamName){

        try {

            Verein team = new Verein(teamName);


            ObjectOutputStream objectOutputStream =
                    new ObjectOutputStream(new FileOutputStream(c.pathDir+c.getPathTeams()));


            t.add(new Verein(teamName));
            objectOutputStream.writeObject(t);

            objectOutputStream.close();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   
    }

Метод ObjectInputStream для чтения команд из txt файла:

public ArrayList<Verein> getTeams(){
    String teams="";
    ArrayList<Verein> vList = new ArrayList<Verein>();

    try {
        ObjectInputStream objectInputStream =
                new ObjectInputStream(new FileInputStream(c.pathDir+c.getPathTeams()));


        vList  = (ArrayList<Verein>) objectInputStream.readObject();

        for(int i = 0; i < vList.size();i++) {

            System.out.println(vList.get(i).getName()+" Anzahl Tore: "+vList.get(i).getAnzahltore());

        }

        objectInputStream.close();

        return vList;
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }

}

Результат после первого применения Начните ввод test1 как teamName:

test1 Anzahl Tore: 0

test1 Anzahl Tore: 0

Результат после повторного открытия приложения:

Anzahl Tore: 0

Anzahl Tore: 0

Содержимое файла для чтения:

¬í sr java.util.ArrayListxÒ ™ sizea I sizexp w sr bean.VereinÏ7t¨r7! U xpsq ~ x

Я должен решить проблему сохранения команд только с objectin-, objectoutputstream.Пожалуйста, только предложения с objectin-, objectoutputstream.

Большое спасибо.

...