2011-02-20 30 views
0

我知道有幾百個問題詢問如何更新控制檯上已寫入的文本,我知道我可以打印\ r字符。使用Java覆蓋終端上的文本,問題與Console.read *

我的問題來了,當我使用Console.readPassword或Console.readLine創建一個新行,後來我不能覆蓋它。

我認爲我的問題與Console.read *方法的特殊之處無關,而是與新行有關。 \ r轉到當前行的開頭,我需要能夠轉到前一個N行的開始並從那裏開始覆蓋。或者只是清除整個屏幕。

任何想法我該怎麼做?

謝謝。

回答

1

原則上,這是終端依賴的,並且對於簡單的Java意味着無法爲所有控制檯執行此操作。

許多終端(至少在unixoid系統)支持ANSI-escape sequences,這樣你就可以在那裏寫的東西,如「\ u001B [1; 5H」移動光標1號線,5 columnn

+0

我想這樣的作品,我會留下一段時間沒有回答,看看是否有人帶來更乾淨的東西。謝謝。 – Franco