2012-04-17 127 views
-2

當我嘗試在我的程序中使用scanner.hasNextLine()時,它只是坐在那裏並掛起。我想知道是否有任何方法可以解決這個問題或我可以使用的任何替代方案。 編輯:背後的原因是,我可以從掃描儀中刪除一切(掃描儀將只有一條線)。因此,如果有辦法從掃描儀中刪除所有內容,那會更容易。爲什麼scanner.hasNextLine()掛起?

+1

你如何構建掃描儀?你的輸入源是什麼? – 2012-04-17 15:32:24

+5

你需要在這裏放一些代碼。 – 2012-04-17 15:32:27

+1

爲什麼你需要刪除所有內容? scanner.close()? – 2012-04-17 15:34:51

回答

5

這是回答您的問題嗎? StackOverFlow : why-does-hasnextline-never-end

如果不是,請將您的代碼示例放在這裏以獲得關於您的問題的更具描述性的答案。很可能你正在閱讀永不完結的東西。如果你有一個文件或一個字符串,你應該沒有問題,但是如果你正在讀取一個恆定的數據流,它可能會掛起,這取決於你的代碼的寫入方式和你讀入掃描器的內容。

1

看的API java.util.scanner(我認爲是你使用的是類

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

注意hasNextLine DOC:

返回true,如果沒有輸入另一行此方法可能會在等待輸入時阻塞掃描器不會超過任何輸入

(emp hasis mine)

所以,如果你有一個未關閉的開放流,它將阻塞直到另一行進入,或者流關閉。

+0

謝謝你告訴我我知道的東西......那麼我該如何解決它? – 2012-04-17 15:37:33

+0

它沒有破碎。它按預期工作。 「修復」取決於你想要做什麼。 – 2012-04-17 15:38:54

+0

@ShawnShroyer - 你應該努力改進你的問題,然後再回答問題,以免給你確切的結果。 – 2012-04-17 15:44:07