ObjectInputStream中的readObject中的问题

muzhiguinie 2007-12-28 08:55:13
我在将一个自己创建的类 Student 序列化后,在测试类中创建几个对象,在建立一个输入流将前面创建的对象用
ObjectInputStream中的writeObject()方法将对象写入一个文本文件中
然后在调用ObjectOutputStream的readObject()方法将对象一个个的读取出来
在判断是否读到文件末尾时使用了
Student stu=null;
try
{
while((str=(Student)oos.readObject)!=null)
{
//............
}
}
catch(Exception e){e.printStackTrace();}
这个程序能够把文本文件中存入的对象读取出来,但是在读到文件的末尾时会产生异常,
这个有没有什么方法处理一下,
顺便问一下,readObject()在读到文件的末尾时返回什么啊???
...全文
156 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
skychen1900 2007-12-30
  • 打赏
  • 举报
回复
将 Student 对象保存到 List或者Map 容器中,
比如,Student stu = new Student("wang"); // 创建一个对象
Student stu2 = new Student("..."); // 创建多个对象
....
List list = new ArrayList();
list.add(stu);
list.add(stu2);
....

ObjectOutputStream oos = new ObjectOutputStream(...); //对象输出流
oos.writeObject(list);
oos.close();

ObjectInputStream ois = new ObjectInputStream(...); //对象输入流
List objectList = ois.readObject();
ois.close();


muzhiguinie 2007-12-29
  • 打赏
  • 举报
回复
引用:
skychen1900

发表于:2007-12-28 21:25:052楼 得分:0
可以将这些对象放到一个容器类里面,这样只要序列化容器类就可以了

========================
没怎么明白,可不可以说的具体一点啊

梅小西Echo 2007-12-28
  • 打赏
  • 举报
回复
楼上的建议很好哦
skychen1900 2007-12-28
  • 打赏
  • 举报
回复
可以将这些对象放到一个容器类里面,这样只要序列化容器类就可以了
skychen1900 2007-12-28
  • 打赏
  • 举报
回复
readObject() 是将序列化了的对象一次读过来

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧