如何在Java中清除控制台 - Eclipse

时间:2016-05-18 13:46:38

标签: java eclipse console flush

如何在Eclipse中执行/打印一些语句后清除控制台。我使用了flush()但是没有工作。只需发布示例代码。

System.out.println("execute ");
System.out.println("these set of lines ");
System.out.println("first");

Thread.sleep(2000); // just to see the printed statements in the console
System.out.flush(); // it is not clearing the above statements

4 个答案:

答案 0 :(得分:3)

System.outStream,清除流是没有意义的。

Eclipse的控制台是一个呈现该流并具有更丰富功能的视图(包括清除其流内容的可见缓冲区的能力),但访问该功能的唯一方法是,如果您正在编写Eclipse插件;一般Java代码不了解Eclipse的Console视图。

您可以通过some hacks获得适度有用的内容,但我不建议您依赖它。无论如何,强烈建议不要在生产代码中使用System.out;请使用记录器(例如slf4jlogback)。并考虑一下你真正想要实现的目标。

答案 1 :(得分:2)

这取决于您的控制台,但如果它支持ANSI转义序列,那么试试这个..

final static String ESC = "\033[";
System.out.print(ESC + "2J"); 

此外,您可以打印多行(“\ n”)并模拟清晰屏幕。最后清楚,最多在unix shell中,不会删除以前的内容,只会将其向上移动,如果向下滚动,则可以看到之前的内容。

以下是示例代码:

for (int i = 0; i < 50; ++i) System.out.println();

第三种选择:

import java.io.IOException;

public class CLS {
    public static void main(String... arg) throws IOException, InterruptedException {
        new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
    }
}

答案 2 :(得分:0)

Eclipse控制台不支持解释 清晰屏幕 和其他 ANSI转义序列为此。另外,ANSI Escape in Console Eclipse插件不支持清晰屏幕

在即将于2019年12月18日发布的即将发布的Eclipse IDE 2019-12(4.14)中,反斜杠\b的解释和回车\r)字符可以在首选项中启用(请参见Eclipse 4.14 - New and Noteworthy - Control character interpretation in Console View):

enter image description here

答案 3 :(得分:-1)

如果您正在谈论eclipse(java控制台,还有mvn控制台和svn控制台),那么您可能希望使用如下的首选项:

  1. 转到窗口»首选项以显示“首选项”对话框
  2. 转到运行/调试并展开它
  3. 选择控制台
  4. 现在,您可以在此处设置与控制台相关的属性。