我在将一个自己创建的类 Student 序列化后,在测试类中创建几个对象,在建立一个输入流将前面创建的对象用
ObjectInputStream中的writeObject()方法将对象写入一个文本文件中
然后在调用ObjectOutputStream的readObject()方法将对象一个个的读取出来
在判断是否读到文件末尾时使用了
Student stu=null;
try
{
while((str=(Student)oos.readObject)!=null)
{
//............
}
}
catch(Exception e){e.printStackTrace();}
这个程序能够把文本文件中存入的对象读取出来,但是在读到文件的末尾时会产生异常,
这个有没有什么方法处理一下,
顺便问一下,readObject()在读到文件的末尾时返回什么啊???

解决方案 »

  1.   

    readObject() 是将序列化了的对象一次读过来
      

  2.   

    引用:
    skychen1900  发表于:2007-12-28 21:25:052楼 得分:0 
    可以将这些对象放到一个容器类里面,这样只要序列化容器类就可以了 ========================
    没怎么明白,可不可以说的具体一点啊
     
      

  3.   

    将 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();