0

当我尝试在我的程序上使用scanner.hasNextLine() 时,它只是坐在那里挂起。我想知道是否有任何方法可以解决此问题或我可以使用的任何替代方法。编辑:这背后的原因是我可以从扫描仪中删除所有内容(扫描仪中只有一行)。因此,如果有办法从扫描仪中删除所有内容,那就更容易了。

4

2 回答 2

6

这回答了你的问题了吗? StackOverFlow:为什么-does-hasnextline-never-end

如果没有,请在此处放置您的代码示例,以获得关于您的问题的更具描述性的答案。您很可能正在阅读永无止境的内容。如果您有文件或字符串,则应该没有问题,但是如果您正在读取恒定的数据流,则它可能会挂起,具体取决于您的代码的编写方式以及您读入扫描仪的内容。

于 2012-04-17T15:42:01.257 回答
1

查看 api java.util.scanner(因为我假设这是您正在使用的类。

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

注意hasNextLine文档:

如果此扫描仪的输入中有另一行,则返回 true。此方法可能会在等待输入时阻塞。扫描仪不会超过任何输入。

(强调我的)

因此,如果您有一个未关闭的打开流,它将阻塞直到另一行进入,或者流被关闭。

于 2012-04-17T15:36:09.337 回答