Java的Scanner.hasNextLine()块在什么条件下? - 代码日志

Java的Scanner.hasNextLine()块在什么条件下?

Scanner.hasNextLine()的javadoc表示:

Returns true if there is another line in the input of this scanner.
This method may block while waiting for input. The scanner does
not advance past any input.

在什么条件下阻止方法?

这取决于扫描仪获取输入的来源。

例如,如果它是一个文件,整个输入是可用的,所以hasNextLine()不会阻止(因为它可以确定地知道文件的结尾到达并且没有更多的输入。

另一方面,如果源是标准输入,那么总是可以有更多的输入 – 用户总是可以输入更多的输入 – 所以hasNextLine()将被阻塞,直到用户键入新的输入行。

http://stackoverflow.com/questions/29235079/under-what-conditions-does-javas-scanner-hasnextline-block

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Java的Scanner.hasNextLine()块在什么条件下?