Introducción
Para las personas que nos gustan las aplicaciones a la antigua, y que más que nada lo hacemos para experimentar, nos viene bien saber cómo limpiar la consola o terminal en Java. Lo malo es que no es tan fácil como en otros lenguajes.
Buscando por internet encontré lo que expongo en este post. También explico cómo es que funciona internamente.
Código
El código de ejemplo lo dejo a continuación. Simplemente se encarga de ejecutar el archivo cmd.exe (un archivo de Windows, también conocido como símbolo del sistema) y pasarle argumentos, como explico más abajo.
import java.io.IOException;
class LimpiarPantalla {
public static void main(String[] args) {
try {
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
} catch (Exception e) {
/*No hacer nada*/
}
}
}
Como vemos, el método puede lanzar excepciones, por eso lo encerramos en un bloque try/catch. Sin embargo, no estamos reaccionando a ninguna excepción. Esto es porque al menos yo pienso que no debería importarnos mucho si la consola se limpia o no; o si no se encuentra el ejecutable.
Es decir, no intervendría de gran manera en nuestra aplicación.
Explicación del comando
Lo único que hacemos con Java es ejecutar una nueva instancia del cmd, o el símbolo del sistema. Le pasamos la opción /c, con la cual indicamos que por favor ejecute el comando que le indicamos y luego se cierre a sí mismo. ¿y qué comando es? pues el comando para limpiar la pantalla: cls.
Voy a probarlo en un GIF:
Como se ve, se limpia la terminal inmediatamente. Y claro que sería más fácil llamar simplemente a cls, pero cls no es un ejecutable, sino un comando del ejecutable cmd. Por eso debemos llamarlo de ese modo para limpiar la pantalla en Windows.
Ejecutando código
Y finalmente aquí dejo un GIF de la ejecución del programa