是否可以清除Java控制台?

时间:2018-10-28 11:36:24

标签: java

我正在编写一个程序,该程序经常从用户(使用Scanner)获取数字。但是在获取新编号之前,我想从以前的结果中清除控制台。

我尝试了System.out.print("\033[H\033[2J");,但是没有用。

1 个答案:

答案 0 :(得分:0)

tldr;

Linux解决方案:

public static void clearScreen() {  
    System.out.print("\033[H\033[2J");  
    System.out.flush();  
}  

Windows解决方案:

Runtime.getRuntime().exec("cls");

注意::在Windows操作系统上,将输出重定向到新创建的进程可能会有问题。要解决此问题,请改用ProcessBuilder

public class ClearScreen {
    public static void main(String... arg) throws IOException, InterruptedException {
        new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
    }
}