java清除控制台_Java:清除控制台
問題
請問任何正文可以告訴我在Java中使用什么代碼來清除屏幕?例如在C中
system("CLS");
Java用于清晰屏幕的代碼是什么?
謝謝!
#1 熱門回答(87 贊)
由于這里有幾個答案顯示Windows的非工作代碼,這里有一個澄清:
Runtime.getRuntime().exec("cls");
此命令不起作用,原因有兩個:
標準Windows安裝中沒有可通過Runtime.exec調用的名為cls.exe或cls.com的可執行文件,因為眾所周知的命令cls內置于Windows的命令行解釋器。
通過Runtime.exec啟動新進程時,標準輸出將重定向到啟動Java進程可以讀取的管道。但是當cls命令的輸出被重定向時,它不會清除控制臺。
要解決這個問題,我們必須調用命令行解釋器(cmd)并告訴它執行一個允許調用內置命令的命令(/c cls)。此外,我們必須直接將其輸出通道連接到Java進程的輸出通道,該通道從Java 7開始,使用inheritIO():
import java.io.IOException;
public class CLS {
public static void main(String... arg) throws IOException, InterruptedException {
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
}
}
現在,當Java進程連接到控制臺時,即已從命令行啟動而沒有輸出重定向時,它將清除控制臺。
#2 熱門回答(49 贊)
你可以使用以下代碼清除命令行控制臺:
public static void clearScreen() {
System.out.print("\033[H\033[2J");
System.out.flush();
}
#3 熱門回答(17 贊)
這就是我如何處理它。此方法適用于Windows操作系統案例和Linux / Unix操作系統案例(這意味著它也適用于Mac OS X)。
public final static void clearConsole()
{
try
{
final String os = System.getProperty("os.name");
if (os.contains("Windows"))
{
Runtime.getRuntime().exec("cls");
}
else
{
Runtime.getRuntime().exec("clear");
}
}
catch (final Exception e)
{
// Handle any exceptions.
}
}
總結
以上是生活随笔為你收集整理的java清除控制台_Java:清除控制台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql为什么用索引_MySql为什么
- 下一篇: java美元兑换,(Java实现) 美元