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

Gro*_*Man 7 java escaping

是否有任何实际应用\r\bJava中?有人可以给出一个使用它的例子吗?

squ*_*dge 14

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

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


aio*_*obe 7

我通常在打印一些进度百分比时\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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 参见[this q/a](http://stackoverflow.com/questions/1761051/difference-between-n-and-r). (2认同)

小智 6

换页是\f\r是回车。 \f用于从前一个字符下方的新行开始打印其后的字符。

System.out.println("This is before\fNow new line");
System.out.println("TEXTBEFORE\rOverlap");
System.out.println("12\b3");
Run Code Online (Sandbox Code Playgroud)

输出:

This is before
          Now new line
OverlapORE
13
Run Code Online (Sandbox Code Playgroud)