本帖最后由 wantyer 于 2011-02-19 19:51:19 编辑

解决方案 »

  1.   

    最简单的,在写入前把他们存入一个List里,保存List,读取的时候读出的是List,再把他们从List里拿出来,方便得多。
      

  2.   

    ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("/home/aaa")));
            oos.writeObject("a");
            oos.writeObject("b");
    ObjectInputStream ios = new ObjectInputStream(new FileInputStream(new File("/home/aaa")));
    System.out.println(ios.readObject());
    System.out.println(ios.readObject());
    oos.close();
    ios.close();console print is :
    a
    b
      

  3.   

    oos=new ObjectOutputStream(new FileOutputStream(file));应该改为:
    oos=new ObjectOutputStream(new FileOutputStream(file,true));
    你每次调用save方法都会把文件中的内容覆盖掉。加上参数true就不会覆盖了
      

  4.   

    很显然,你的文件写入的时候已经覆盖了之前的,其实你只有一个对象,,,虽然你添加了多个,
    你要用文件,追加的方式,new 的时候,用true..试试,,
    但是这样
      stu[i]=(Student)fo.load();//这样读出来的Object永远是第一个.,,就有点怪了哦,