Подтвердить что ты не робот

Как очистить консоль в Java?

Я тянул свои волосы за это довольно долгое время. Я исследовал в течение часа о том, как очистить консоль в Java.

Все, что я нашел, было грязным взломом, либо напечатав кучу строк, либо выполнив этот

Runtime.getruntime.exec("cls/clear");

Однако для меня ничего не работает. Разве не существует способа очистки консоли на Java, как в C (clrscr();). Нет ли какой-либо внешней библиотеки, с помощью которой это может быть достигнуто.

Пожалуйста, дайте мне знать, если кто-либо когда-либо делал это, прежде чем использовать надлежащую функцию, библиотеку и т.д. вместо грязного взлома.

4b9b3361

Ответ 1

Если ваш терминал поддерживает коды удаления ANSI, это очищает экран и перемещает курсор в первую строку, первый столбец:

System.out.print("\033[H\033[2J");
System.out.flush();

Это работает практически во всех терминалах UNIX и терминальных эмуляторах. Windows cmd.exe не интерпретирует escape-коды ANSI.

Ответ 2

Попробуйте этот код

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

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

Вам нужно заменить "PlatformDependentCode" на вашу консольную консольную команду.

Метод exec() выполняет команду, введенную в качестве аргумента, точно так же, как если бы она была введена в консоль.

В Windows вы должны записать его как Runtime.getRuntime().exec("cls");.

Ответ 4

Используйте следующий код:


System.out.println("\f");

'\f' - это escape-последовательность, которая представляет FormFeed. Это то, что я использовал в своих проектах, чтобы очистить консоль. Это проще, чем другие коды, я думаю.

Ответ 5

Необходимо очистить консоль.

Для последовательных терминалов это обычно выполнялось с помощью так называемых "escape-последовательностей", в которых особенно упрощалась установка vt100 ( и его близким ANSI-кузеном).

Windows традиционно не поддерживала такие последовательности "из коробки", но полагалась на вызовы API для выполнения этих задач. Однако для DOS-версий Windows драйвер ANSI.SYS может быть установлен для обеспечения такой поддержки.

Итак, если вы находитесь под Windows, вам необходимо взаимодействовать с соответствующим API Windows. Я не верю, что стандартная библиотека времени выполнения Java содержит код для этого.

Ответ 6

Вы можете легко реализовать clrscr(), используя простую для печати цикла "\ b".

Ответ 7

Если вы используете окна и заинтересованы в очистке экрана перед запуском программы, вы можете скомпилировать файл, который вызывается из файла .bat. например:


ЦБС

java ", что когда-либо имя класса компиляции"


Сохранить как "etc".bat, а затем запустить, вызвав его в командной строке или дважды щелкнув файл