如何在Windows上清除Java控制台



我很想知道如何在Windows中清除控制台。我尝试了一些命令,但没有任何效果

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

这对我不起作用。

我想知道是否有任何方法可以在Java中清除终端,或者是否有外部库可以做到这一点。

@Olivier回答的链接确实有效,但不幸的是,大多数建议都使用了子进程cls,或者没有解释如何在Windows上启用。

在最新的Windows 10中,您可以在Windows终端中使用ANSI代码支持,但不能直接在CMD.EXE控制台中使用。要启用CMD.EXE,请为ANSI颜色添加这些答案中提到的注册表项VirtualTerminalLevel,然后您可以直接打印相应的ANSI/VT代码,而无需运行子进程:

System.out.print("33[2J33[1;1H");

System.out.print(ANSI.CLEAR_SCREEN+ANSI.position(1, 1));

其中ANSI代码的简单定义是:

public class ANSI {
// Control Sequence Introducer:
public static String CSI = "u001b[";
public static String CLEAR_SCREEN = CSI+"2J";
public static String position(int row, int col) {
return CSI+row+";"+col+"H";
}
}

请注意,其他终端或IDE中的终端可能不支持以上内容。

最新更新