How to clear the console? How to clear the console? java java

How to clear the console?


Since there are several answers here showing non-working code for Windows, here is a clarification:

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

This command does not work, for two reasons:

  1. There is no executable named cls.exe or cls.com in a standard Windows installation that could be invoked via Runtime.exec, as the well-known command cls is builtin to Windows’ command line interpreter.

  2. When launching a new process via Runtime.exec, the standard output gets redirected to a pipe which the initiating Java process can read. But when the output of the cls command gets redirected, it doesn’t clear the console.

To solve this problem, we have to invoke the command line interpreter (cmd) and tell it to execute a command (/c cls) which allows invoking builtin commands. Further we have to directly connect its output channel to the Java process’ output channel, which works starting with Java 7, using 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();    }}

Now when the Java process is connected to a console, i.e. has been started from a command line without output redirection, it will clear the console.


You can use following code to clear command line console:

public static void clearScreen() {      System.out.print("\033[H\033[2J");      System.out.flush();  }  

For further references visit: http://techno-terminal.blogspot.in/2014/12/clear-command-line-console-and-bold.html


This is how I would handle it. This method will work for the Windows OS case and the Linux/Unix OS case (which means it also works for 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.    }}

Note that this method generally will not clear the console if you are running inside an IDE.