在Java控制台应用程序中使用Windows"cls"命令清除屏幕

gre*_*rio 2 java console command-line-arguments windows-console

我正在制作一个游戏,每次转弯后都要清理屏幕以提高可读性.唯一的问题是我不能使用基于Windows命令提示符的"cls"命令,它不支持ANSI转义字符.我在下一页使用了Dyndrilliac的解决方案但导致了IOException:

Java:清除控制台

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

小智 8

new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
Run Code Online (Sandbox Code Playgroud)

解决方法: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");
Run Code Online (Sandbox Code Playgroud)