用ObjectInputStream的readObject()从一个文件中读取全部对象,但我不知道到底有多少对象,当读取指针达到文件,末尾时会抛出EOFException异常,我想知道有没办法决绝这种异常,或者有没有方法让我知道这个文件中有多少个对象。

解决方案 »

  1.   

    while(is.readLine()!=null){
    .....
    }
      

  2.   

    File file = new File('1.txt');
    BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GB2312"));
    String content;
    while ((content = reader.readLine()) != null) {
        ...................
    }
    程序结束的时候别忘记把资源释放掉。
      

  3.   

    你应该没写一个对象就new一个ObjectInputStream,这样就不存在这个问题了(不过读的时候new ObjectOutputStream也会有点问题,除非你先在文件头写入有多少个对象)最简单的方法就是try...catch...
    捕捉到EOF异常就是结尾了。EOF本来就是说流读到了结尾位置。其他错误的异常不会是EOF,你可以放心大胆的用catch EOFException来判断
    楼上几家所谓的BufferedReader没有用,不要考虑
      

  4.   

    ObjectInputStream 哪来readLine()啊~!我说的对象是个ObjectInputStream对象