我想读取我输出到.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");
}
答案 0 :(得分:6)
请参阅Javadoc。 EOF时readObject()
不返回null。抛出EOFException.
它返回null的唯一方法是在另一端写入null,并且这不一定是终止读循环的好理由。
简而言之,你的代码是错误的。
注意'o'的初始化是多余的。
注意(2)除非NullPointerException,
为空,否则您发布的代码不能抛出masterFile
。这是一个严肃的报告还是只是猜测?