java如何清理屏幕
清理控制台屏幕的方法
在Java中清理控制台屏幕可以通过多种方式实现,具体取决于运行环境和需求。以下是几种常见的方法:
使用ANSI转义序列(适用于支持ANSI的控制台)
System.out.print("\033[H\033[2J");
System.out.flush();
此方法发送ANSI控制代码,\033[H将光标移动到左上角,\033[2J清除整个屏幕。需要确保运行环境支持ANSI转义序列。

通过执行系统命令
try {
final String os = System.getProperty("os.name");
if (os.contains("Windows")) {
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
} else {
System.out.print("\033[H\033[2J");
System.out.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
此方法检测操作系统类型,在Windows上调用cls命令,在其他系统上使用ANSI转义序列。

创建多个空行(简单但不够完美)
for (int i = 0; i < 50; i++) {
System.out.println();
}
这种方法通过输出大量空行模拟清屏效果,但不会真正清除屏幕内容,只是将旧内容推出可见区域。
注意事项
- ANSI转义序列在Windows的旧版CMD中可能不支持,但在Windows Terminal、Linux和macOS终端中通常有效
- 执行系统命令方法可能涉及安全风险,需要谨慎使用
- 在IDE内置控制台中,这些方法可能效果不佳或完全无效






