Java - 在控制台中重写多行

aho*_*ard 8 java console

我正在运行Windows,但是我正在编写的程序需要与Linux交叉兼容。

我知道您可以在 Windows/Linux 中使用 \r 重写(或用另一行替换控制台中已写入的行)控制台中的单行

System.out.print("Initial line");
System.out.print("\r");
System.out.print("Updated line");
Run Code Online (Sandbox Code Playgroud)

但我想重写多行,例如:

System.out.print("Line 1");
System.out.print("Line 2");
// magic code
System.out.print("Updated line 1");
System.out.print("Updated line 2");
Run Code Online (Sandbox Code Playgroud)

我猜你使用了类似于 \b 等的东西,但我不知所措。有人知道这是怎么做到的吗?(无第三方库)

小智 0

@Multrix

我发现 '\r' 在 Win/Linux 中都有效...

但是,我怀疑回车符是否可以选择性地返回,直到前面的文本部分,正如您上面所描述的那样......

因为应用 '\r' 会将回车符一直带回该行的开头...只有在将回车符带回后打印更多字符时才会清除...

希望能帮助到你...