3

我正在开发一款游戏,该游戏涉及在每次转动后清除屏幕以提高可读性。唯一的问题是我不能使用基于 Windows 命令提示符的“cls”命令,而且它不支持 ANSI 转义字符。我在下一页使用了 Dyndrilliac 的解决方案,但它导致了 IOException:

Java:清除控制台

用“cmd \C cls”替换“cls”只会打开一个新的命令提示符,将其清除,然后在不访问当前控制台的情况下将其关闭。如何使通过 Windows 命令提示符运行的 Java 程序访问命令提示符的参数并使用它们来清除其输出?

4

4 回答 4

11
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();

在这里解决:Java:清除控制台

我意识到这是一篇旧帖子,但我讨厌当我发现问题的答案是没关系我明白了,或者它就消失了。希望它能像对我一样帮助别人。

请记住,它在 Eclipse 中不起作用,但在常规控制台中会起作用。如果您担心跨操作系统,请更进一步:

        final String os = System.getProperty("os.name");
        if (os.contains("Windows"))
            new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
        else
            Runtime.getRuntime().exec("clear");
于 2015-11-04T15:29:23.703 回答
1
public static void clrscr(){
//Clears Screen in java
try {
    if (System.getProperty("os.name").contains("Windows"))
        new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
    else
        Runtime.getRuntime().exec("clear");
} catch (IOException | InterruptedException ex) {}
}
于 2019-06-16T15:18:53.103 回答
-2

创建一个批处理文件以清除 cmd 屏幕并运行您的 java 程序

第 1 步。创建一个扩展名为 .bat 的文件 第 2 步。所以批处理文件中的代码将是

Cls Cd 桌面 // 路径 Javac 文件名.java // 编译 Java 桌面 // 运行

通过这样做....您可以在运行时清除屏幕

于 2014-03-05T14:23:25.977 回答
-2

与控制台相关的 API 中几乎没有什么可以做一个清晰的屏幕。但是,您可以通过println()s 达到相同的效果。许多腻子客户像这样清除页面然后向上滚动。

private static final int PAGE_SIZE = 25;

public static void main(String[] args) {
    // ...
    clearScreen();
}

private static void clearScreen() {
    for (int i = 0; i < PAGE_SIZE; i++) {
        System.out.println();
    }
}
于 2013-10-08T15:59:17.100 回答