Вопрос-ответ

How to clear the console using Java?

Как очистить консоль с помощью Java?

Кто-нибудь, пожалуйста, может сказать мне, какой код используется для очистки экрана в Java?

Например, в C ++:

system("CLS");

Какой код используется в Java для очистки экрана?

Переведено автоматически
Ответ 1

Вы можете использовать следующий код для очистки консоли командной строки:

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

Предостережения:


  • Это будет работать на терминалах, поддерживающих escape-коды ANSI

  • Это не будет работать в Windows 'CMD

  • Это не будет работать в терминале IDE

Для дальнейшего чтения посетите это

Ответ 2

Поскольку здесь есть несколько ответов, показывающих нерабочий код для Windows, вот разъяснение:

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

Эта команда не работает по двум причинам:


  1. В стандартной установке Windows нет исполняемого файла с именем cls.exe or cls.com, который можно было бы вызвать через Runtime.exec, поскольку хорошо известная команда cls встроена в интерпретатор командной строки Windows.


  2. При запуске нового процесса через Runtime.exec стандартный вывод перенаправляется в канал, который может прочитать инициирующий Java-процесс. Но когда вывод cls команды перенаправляется, консоль не очищается.


Чтобы решить эту проблему, мы должны вызвать интерпретатор командной строки (cmd) и указать ему выполнить команду (/c cls), которая позволяет вызывать встроенные команды. Далее мы должны напрямую подключить ее выходной канал к выходному каналу Java-процесса, который работает, начиная с Java 7, используя 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();
}
}

Теперь, когда процесс Java подключен к консоли, т. е. был запущен из командной строки без перенаправления вывода, он очистит консоль.

Ответ 3

Вот как я бы справился с этим. Этот метод будет работать для ОС Windows и для ОС Linux / Unix (что означает, что он также работает для 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.

Ответ 4

Try the following :

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

This will work fine in Linux environment

java