Java中的formfeed和backspace转义字符串有什么用?

时间:2011-09-11 13:16:24

标签: java escaping

Java中的\r\b是否有实际用法?有人可以给出一个使用它的例子吗?

4 个答案:

答案 0 :(得分:13)

Formfeed转义是\f,而不是\r。前者对于在控制台中清除屏幕非常有用,而第二个对于进度显示非常有用(如aioobe所述)。

\b也可用于进度显示,例如,在ICMP Ping上,您可以在发送ping时显示一个点,并在收到时显示\b以指示数量丢包。

答案 1 :(得分:6)

在打印一些进度百分比时,我通常会将\rSystem.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