2011-09-11 8 views

Respuesta

5

Normalmente uso \r junto con System.out.print al imprimir algún porcentaje de progreso.

intente ejecutar esto en su terminal:

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); 
     } 
    } 
} 
+1

Si utilizo \ n en lugar de \ r, me da los mismos resultados, ¿cuál es la diferencia entre dos? Supongo que ahora está obsoleto. –

+1

Ver [este q/a] (http://stackoverflow.com/questions/1761051/difference-between-n-and-r). – aioobe

10

de escape Formfeed es \f, no \r. El primero es útil para borrar la pantalla en una consola, mientras que el segundo es útil para pantallas de progreso (como lo indica aioobe).

\b se puede utilizar en las pantallas de progreso también, por ejemplo, en un Ping ICMP, puede mostrar un punto cuando se envía un ping y un \b cuando se recibe para indicar la cantidad de pérdida de paquetes.

1

La alimentación de formulario es un carácter de control ASCII que descifra páginas. Obliga a la impresora a expulsar la página actual y continuar imprimiendo en la parte superior de otra. A menudo, también causará un retorno de carro. Para obtener más detalles, haga clic en here

-1

El avance del formulario es \f y \r es el retorno del carro. \f se utiliza para imprimir caracteres después de la nueva línea comenzando justo debajo del carácter anterior.

System.out.println("This is before\fNow new line"); 
System.out.println("TEXTBEFORE\rOverlap"); 
System.out.println("12\b3"); 

Salida:

This is before 
      Now new line 
OverlapORE 
13 
Cuestiones relacionadas