试图清除java中的屏幕

时间:2018-02-14 14:35:36

标签: java readline

我从服务器打印一个字符串,其中包含多个' \ n'在其中,并希望在每条新消息之前清除屏幕。但是,以下代码会导致在单个字符串中的每一行之后清除屏幕。

while (true) {
    String s = server.readLine(); 

    if (s == null) {
      throw new NullPointerException();
    } 
    ConsoleCleaner.clean();
    System.out.println(s.toString());

  }

同样,s是一个包含多个' \ n'在其中导致打印一行并且每次都清除屏幕。

2 个答案:

答案 0 :(得分:0)

我假设此处serverBufferedReader,因为您没有另行指定。并且出于BufferedReader.readLine()的目的,没有“具有多个\n的单个字符串”。当方法遇到第一个\n时,这就是readLine()的输出。

您可以通过跟踪打印的最后一条消息的非空白长度来避免此问题,并且仅在屏幕非零时清除屏幕。

答案 1 :(得分:0)

您能否根据自己的要求调整此示例?

Read all lines with BufferedReader

也许是这样:

String s;
while ((line = server.readLine()) != null) {
    s += line + (System.getProperty("line.separator"));
}
ConsoleCleaner.clean();
System.out.println(s.toString());

没试过......