我正在编写一个程序,该程序经常从用户(使用Scanner
)获取数字。但是在获取新编号之前,我想从以前的结果中清除控制台。
我尝试了System.out.print("\033[H\033[2J");
,但是没有用。
答案 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();
}
}