ObjectOutputStream,ObjectInputStream永久写入和读取

时间:2019-01-21 00:38:15

标签: java objectinputstream objectoutputstream

我正在尝试通过ObjectOutputStream将示例数据写入.txt文件。之后,我想阅读书面结果并在我的应用程序中显示。完美的作品。但是,当我尝试在重新打开应用程序后读取结果时,它仅显示空值。有没有人知道如何永久写入此数据,以便当我重新打开应用程序时,在执行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();
        }   
    }

用于读取团队txt文件的ObjectInputStream方法:

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

要读取的文件内容:

¬ísrjava.util.ArrayListxÒ™ÇaI sizexp w srbeans.VereinÏ7t¨r7!U xpsq〜x

我只需要使用objectin-,objectoutputstream解决团队的保存问题。请仅提供带有objectin-,objectoutputstream的建议。

非常感谢。

0 个答案:

没有答案