Java中的\r
和\b
是否有实际用法?有人可以给出一个使用它的例子吗?
答案 0 :(得分:13)
Formfeed转义是\f
,而不是\r
。前者对于在控制台中清除屏幕非常有用,而第二个对于进度显示非常有用(如aioobe所述)。
\b
也可用于进度显示,例如,在ICMP Ping上,您可以在发送ping时显示一个点,并在收到时显示\b
以指示数量丢包。
答案 1 :(得分:6)
在打印一些进度百分比时,我通常会将\r
与System.out.print
一起使用。
尝试在终端中运行:
class Test {
public static void main(String[] args) throws InterruptedException {
for (int i = 0; i < 100; i++) {
System.out.print("Progress: " + i + " %\r");
Thread.sleep(100);
}
}
}
答案 2 :(得分:3)
表单Feed为\f
,\r
为回车符。
\f
用于在从前一个字符下方开始的新行之后打印字符。
System.out.println("This is before\fNow new line");
System.out.println("TEXTBEFORE\rOverlap");
System.out.println("12\b3");
输出:
This is before
Now new line
OverlapORE
13
答案 3 :(得分:1)
表单提要是一个破坏页面的ASCII控制字符。它强制打印机弹出当前页面并继续打印另一页面。通常,它也会导致回车。有关详细信息,请单击here