由于这里有几个答案显示了Windows的无效代码,因此请澄清一下:
Runtime.getRuntime().exec("cls");该命令没有工作,有两个原因:
在Windows的命令行解释器中内置了众所周知的命令,因此没有可通过调用的名为
cls.exe
或cls.com
在标准Windows
安装中的可执行文件。Runtime.execcls
通过启动新进程时Runtime.exec,标准输出将重定向到启动Java进程可以读取的管道。但是,当cls命令的输出被重定向时,它不会清除控制台。
为了解决这个问题,我们必须调用命令行解释器
(cmd)并告诉它执行一个命令
(/c cls),该命令允许调用内置命令。此外,我们必须使用以下命令将其输出通道直接连接到Java进程的输出通道,该通道从Java 7开始运行
inheritIO():
import java.io.IOException;public class CLS { public static void main(String... arg) throws IOException, InterruptedException { new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor(); }}现在,当Java进程连接到控制台时,即已从命令行启动而没有输出重定向,它将清除控制台。



