我有一个用于读取文件的hasNext()方法。如果它不是文件的末尾,则返回true。 在这种方法中它有一个例外。
异常信息:
我的hasNext()方法:
@Override
public boolean hasNext() {
try {
super.getSourceRead().mark(1);
if (super.getSourceRead().read() < 0) {
return false;
}
getSourceRead().reset();
return true;
} catch (IOException e) {
Logger.exceptionOccurred(e);
return false;
} catch (NullPointerException e) {
Logger.exceptionOccurred(e);
return false;
}
}
答案 0 :(得分:2)
好吧,它写在doc for 1.5:
在阅读这么多字符后,尝试重置流可能 失败。
所以在你的情况下,它说可能在读完1个字符后失败。
将限制设置为2会使我们进入安全区域。
只是为了做一个唠叨的风格评论:我希望你班上某个地方有一个常数或一个成员(抱歉我不得不:))