如何将Java序列化对象写入文件并读取

22 浏览
0 Comments

如何将Java序列化对象写入文件并读取

我打算将多个对象写入文件,然后在代码的另一部分中读取它们。我的代码没有错误,但它没有正常工作。你能帮我找一下我的代码有什么问题吗?

我从不同的网站上阅读了不同的代码,但它们都对我没用!

这是我将对象写入文件的代码:

MyClassList是一个包含我的类对象的ArrayList(必须写入文件)。

for (int cnt = 0; cnt < MyClassList.size(); cnt++) {
    FileOutputStream fout = new FileOutputStream("G:\\address.ser", true);
    ObjectOutputStream oos = new ObjectOutputStream(fout);
    oos.writeObject(MyClassList.get(cnt));
}

我在输出流的构造函数中添加了"true",因为我想将每个对象添加到文件的末尾。这样正确吗?

这是我从文件中读取对象的代码:

 try {
     streamIn = new FileInputStream("G:\\address.ser");
     ObjectInputStream objectinputstream = new ObjectInputStream(streamIn);
     MyClass readCase = (MyClass) objectinputstream.readObject();
     recordList.add(readCase);
     System.out.println(recordList.get(i));
 } catch (Exception e) {
     e.printStackTrace();
 }

最后它只打印出一个对象。现在,我不知道是我写得不对还是读得不对!

0