use*_*712 1 java objectoutputstream eofexception
我想读取我输出到.dat文件的多个对象(我自己的类Term),但我总是得到一个nullPointException或EOFException.
ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(masterFile));
Object o = null;
while(( o = inputStream.readObject()) != null){
Term t = (Term)o;
System.out.println("I found a term");
}
Run Code Online (Sandbox Code Playgroud)
见Javadoc.readObject()在EOF时不返回null.抛出EOFException.它返回null的唯一方法是在另一端写入null,并且这不一定是终止读循环的好理由.
简而言之,您的代码是错误的.
注意'o'的初始化是多余的.
注意(2)您发布的代码不能抛出,NullPointerException,除非masterFile为null.这是一个严肃的报告还是只是猜测?