【问题标题】:How to clear console in Java - Eclipse如何在 Java 中清除控制台 - Eclipse
【发布时间】:2016-09-15 01:16:51
【问题描述】:

在 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

【问题讨论】:

  • 我认为您正在尝试使用 java 清除 Eclipse 控制台。那正确吗?如果是这样,我认为您可能不会以这种方式影响应用程序控制台。除非你正在开发一些在 eclipse 中使用的工具。
  • 你为什么需要这个?
  • 是的,这仅限于 Eclipse 而不是任何生产应用程序

标签: java eclipse console flush


【解决方案1】:

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):

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      Eclipse 的 Console 是一个呈现该流的视图,并具有更丰富的功能(包括清除流内容的可见缓冲区的能力),但访问它的唯一方法是编写一个Eclipse插件;一般 Java 代码不知道 Eclipse 的 Console 视图。

      您也许可以通过some hacks 获得一些有用的东西,但我不建议您依赖它。无论如何,强烈建议不要在生产代码中使用System.out;请改用 Logger(例如 slf4jlogback)。并考虑一下您真正想要实现的目标。

      【讨论】:

        【解决方案4】:

        这取决于你的控制台,但如果它支持 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();
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-01
          • 1970-01-01
          • 2010-10-11
          • 1970-01-01
          • 2012-11-14
          • 2016-02-08
          相关资源
          最近更新 更多