使用objectOutputStream时不返回对象属性

时间:2019-06-30 19:24:35

标签: java android

我正在尝试在Android Studio中制作一个应用程序,为此,我想保存一个Player对象,主要是为了跟踪他们的长期平均得分。

Player对象包含多个变量name average score等。

某些变量每转都会更改,而某些变量将保持不变。在每个回合结束时,大多数都重置为0,但是average将保持不变。平均值为int类型,因为它需要一个十进制值。

我有以下代码可以编译和运行,但是没有任何反应,使用调试器显示,它似乎只能读取FileOutputStream而不是ObjectOutputStream

//Write data to file
        try{
            FileOutputStream f = new FileOutputStream(new File("myObject.txt"));
            ObjectOutputStream o = new ObjectOutputStream(f);
            o.writeObject(p1);
            o.close();
            f.close();

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

//Read data from file
        try {
            FileInputStream fi = new FileInputStream(new File("myObject.txt"));
            ObjectInputStream oi = new ObjectInputStream(fi);

            p2 = (Player) oi.readObject();

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


    }

我已经设置了对象,因此为其分配了属性。我还尝试了一个笨拙的版本,该版本仅包含一个Playername的{​​{1}}对象,但是我还是没有运气。

任何人都可以告诉我我在做什么错。

average

Player

这是一个愚蠢的版本,而不是显示具有所有属性的版本。

0 个答案:

没有答案