Con Java 6 se puede utilizar el Console
a hacer algo como esto:
class Main {
public static void main(String[] args) throws InterruptedException {
String[] spinner = new String[] {"\u0008/", "\u0008-", "\u0008\\", "\u0008|" };
Console console = System.console();
console.printf("|");
for (int i = 0; i < 1000; i++) {
Thread.sleep(150);
console.printf("%s", spinner[i % spinner.length]);
}
}
}
\u0008
es el carácter especial de retroceso. Impresión que borra el último carácter en la línea. Al comenzar a imprimir un |
y luego anteponer el \u0008
antes que a los demás caracteres, se obtiene el comportamiento del girador.
Tenga en cuenta que esto puede no ser 100% compatible con todas las consolas (y que System.console()
puede devolver null
).
También tenga en cuenta que no necesariamente tiene que usar la clase de la consola, ya que la impresión de esta secuencia a la salida estándar generalmente funciona igual de bien.
¿Es esto para un terminal de Windows u otro terminal? –
Windows en este momento, pero le gustaría que sea multiplataforma – user489041