如何清除Java中的標準輸入(term)?如何清除標準輸入(term)
歷史的一點點: 我寫了「反射」程序,算法很簡單:
wait a random amount of time
print "press enter"
read line
的一點是,如果用戶錯誤地按下回車鍵時,它會被閱讀,所以測試將是錯誤的。我的目標是糾正這個錯誤。 要做到這一點,我想有這樣一個算法:
wait a random amount of time
clear stdin
print "press enter"
read line
但我不能找到一個方法來做到這一點。 This post似乎很有趣:available
獲取剩餘字符的數量,skip
將跳過它們。只能在紙上工作。如果通過按下多次輸入鍵強調應用,available
方法返回
,可以從該輸入流中讀取(或跳過)的字節數的估計值而不阻擋
因此,有時候,返回值是錯誤的,至少有一個回車符保留在緩衝區中,錯誤仍然存在。
This solution可以做的伎倆,但它是平臺依賴,我不想成爲。此外,從Java調用系統例程是一個不錯的主意。
要恢復,我想清除我的程序的標準輸入,但我不想關閉它,也不會阻止我的程序等待用戶輸入。對我來說,這似乎是一個非常基本的問題,如果答案很明顯!
除非您想要假設VT100代碼,否則您沒有太多選項。但爲什麼在控制檯中呢?編寫一個非常小的Swing應用程序 - 解決問題。 – 2013-03-27 00:00:58