Bil*_*ard 11
随着肮脏的黑客去,我喜欢msparer的解决方案.我见过的一种更脏的方法(我自己也不会这样做.我发誓.真的.)是给控制台写一堆换行符.这根本不会清除屏幕,但会为用户创建清晰屏幕的错觉.
char c = '\n';
int length = 25;
char[] chars = new char[length];
Arrays.fill(chars, c);
System.out.print(String.valueOf(chars));
Run Code Online (Sandbox Code Playgroud)
如果您正在谈论控制台应用程序,那么AFAIK就没有明确的屏幕选项.一个非常脏的选项是调用底层操作系统的clear screen命令.
那就是这样的
Runtime.getRuntime().exec("cls");
Run Code Online (Sandbox Code Playgroud)
对于Windows或
Runtime.getRuntime().exec("clear");
Run Code Online (Sandbox Code Playgroud)
对于其他操作系统的负载.你可以找到操作系统System.getProperty("os.name").
对于任何支持ANSI转义的控制台,以下都可以工作(例如在Win98控制台中工作).
private final String ANSI_CLS = "\u001b[2J";
....
System.out.print(ANSI_CLS);
System.out.flush();
...
Run Code Online (Sandbox Code Playgroud)
从Win NT开始,这将不再适用,你也可以
否则你运气不好.
顺便说一下.你必须记住,System.out并且System.err不必是控制台,他们可以设置为永远(写入文件,例如)一个用户,清除屏幕根本没有任何意义.