【问题标题】:how to clear console in Java on Windows [duplicate]如何在 Windows 上清除 Java 控制台 [重复]
【发布时间】:2022-01-23 11:41:20
【问题描述】:

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

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

这对我不起作用。

我想知道是否有任何方法可以在 Java 中清除终端,或者是否有外部库来执行此操作。

【问题讨论】:

    标签: java terminal console console-application


    【解决方案1】:

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

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

    System.out.print("\033[2J\033[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 中的终端可能不支持上述内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 2012-02-18
      • 2012-05-01
      • 2013-01-27
      • 1970-01-01
      • 2016-09-15
      相关资源
      最近更新 更多