sirve que para metodo limpio limpiar consola como java console clear

que - Java: borrar la consola



refresh console java (12)

¿Puede algún cuerpo decirme qué código se utiliza para la pantalla clara en Java? Por ejemplo en C ++

system("CLS");

¿Qué código se usa en Java para una pantalla clara?

¡Gracias!


Así es como lo manejaría. Este método funcionará para el caso del sistema operativo Windows y el caso del sistema operativo Linux / Unix (lo que significa que también funciona para Mac OS X).

public final static void clearConsole() { try { final String os = System.getProperty("os.name"); if (os.contains("Windows")) { Runtime.getRuntime().exec("cls"); } else { Runtime.getRuntime().exec("clear"); } } catch (final Exception e) { // Handle any exceptions. } }


Cree un método en su clase como este: [como dijo here .]

public static void clrscr(){ //Clears Screen in java try { if (System.getProperty("os.name").contains("Windows")) new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor(); else Runtime.getRuntime().exec("clear"); } catch (IOException | InterruptedException ex) {} }

Esto funciona para Windows al menos, no he verificado Linux hasta ahora. Si alguien lo revisa para Linux, por favor avíseme si funciona (o no).

Como método alternativo es escribir este código en clrscr() :

for(int i = 0; i < 80*300; i++) // Default Height of cmd is 300 and Default width is 80 System.out.print("/b"); // Prints a backspace

No te recomendaré que uses este método.


Dado que hay varias respuestas aquí que muestran un código que no funciona para Windows, aquí hay una aclaración:

Runtime.getRuntime().exec("cls");

Este comando no funciona, por dos razones:

  1. No hay ningún ejecutable llamado cls.exe o cls.com en una instalación estándar de Windows que podría invocarse a través de Runtime.exec , ya que los cls comandos conocidos se incorporan al intérprete de línea de comandos de Windows.

  2. Al iniciar un nuevo proceso a través de Runtime.exec , la salida estándar se redirecciona a un conducto que el proceso iniciador de Java puede leer. Pero cuando la salida del comando cls se redirecciona, no borra la consola.

Para resolver este problema, debemos invocar el intérprete de línea de comandos ( cmd ) y decirle que ejecute un comando ( /c cls ) que permite invocar comandos incorporados. Además, tenemos que conectar directamente su canal de salida al canal de salida del proceso de Java, que funciona comenzando con Java 7, usando inheritIO() :

import java.io.IOException; public class CLS { public static void main(String... arg) throws IOException, InterruptedException { new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor(); } }

Ahora cuando el proceso de Java está conectado a una consola, es decir, se ha iniciado desde una línea de comandos sin redirección de salida, borrará la consola.


Esto funcionará si estás haciendo esto en Bluej o cualquier otro software similar.

System.out.print(''/u000C'');



Pruebe lo siguiente:

System.out.print("/033/143");

Esto funcionará bien en el entorno de Linux



Puede usar una emulación de cls con for (int i = 0; i < 50; ++i) System.out.println();


Runtime.getRuntime (). Exec (cls) NO funcionó en mi computadora portátil XP. Esto hizo -

for(int clear = 0; clear < 1000; clear++) { System.out.println("/b") ; }

Espero que esto sea útil


Si desea una forma de hacerlo más independiente del sistema, puede usar la biblioteca ConsoleReader.clearScreen() y ConsoleReader.clearScreen() . Es probable que valga la pena hacer una comprobación prudente de si JLine y ANSI son compatibles en el entorno actual.

Algo como el siguiente código funcionó para mí:

import jline.console.ConsoleReader; public class JLineTest { public static void main(String... args) throws Exception { ConsoleReader r = new ConsoleReader(); while (true) { r.println("Good morning"); r.flush(); String input = r.readLine("prompt>"); if ("clear".equals(input)) r.clearScreen(); else if ("exit".equals(input)) return; else System.out.println("You typed ''" + input + "''."); } } }

Al ejecutar esto, si escribe ''borrar'' en el mensaje, borrará la pantalla. Asegúrese de ejecutarlo desde una terminal / consola adecuada y no en Eclipse.


Una forma de conseguir esto puede ser imprimir múltiples extremos de líneas ("/ n") y simular la pantalla clara. Al final claro, a lo sumo en el shell de Unix, no elimina el contenido anterior, solo lo mueve hacia arriba y si hace scroll hacia abajo puede ver el contenido anterior.

Aquí hay un código de muestra:

for (int i = 0; i < 50; ++i) System.out.println();


Runtime.getRuntime().exec("cls");