2014-02-11 174 views
1

我習慣用C++清除屏幕,絕對沒有問題,但是看起來對Java來說並不那麼簡單。用Java清除屏幕

我曾經嘗試都Runtime.getRuntime().exec("cls");

String[] cls = new String[] {"cmd.exe", "/c", "cls"}; 
Runtime.getRuntime().exec(cls); 

這是我所網頁(主要是在這裏的StackOverflow)周圍發現瞭解決方案,但他們似乎沒有工作在我的電腦上...

第一次嘗試下列報告抓住了IOException

java.io.IOException: Cannot run program "cls": CreateProcess error=2, System cannot find the file specified 
+0

您是在Windows控制檯還是在IDE控制檯中執行Java應用程序Eclipse,Netbeans等? –

+0

沒有IDE,只是控制檯。 – dabadaba

+2

'cls'是我認爲的控制檯功能。我不認爲你的硬盤上有一個叫做'cls'的程序。 –

回答

1

嘗試去除圍繞第二個選項CLS的qoutes,你還是老樣子我只是傳遞字符串。如果沒有引號,則使用您定義的String []。

String[] cls = new String[] {"cmd.exe", "/c", "cls"}; 
Runtime.getRuntime().exec(cls); 
+0

對不起,這是一個錯字,不,它不工作。 – dabadaba

+0

@dabadaba:你是對的,它不起作用,儘管它不會產生錯誤。有趣的是,在所有這些年來,似乎沒有人注意到*輸出重定向的問題,其中提供了基於Runtime.exec的解決方案建議。請參閱[這裏](http://stackoverflow.com/a/33379766/2711488) – Holger