Как очистить консоль в Java во время действия программы
Облазил весь интернет но не нашел ответа. Хочу написать простенький консольный to-do list. Хочу чтобы когда я переходил по пунктам меню, консоль очищалась. Как это можно реализовать в рамках консольного Java-приложения? Причем я имею ввиду не очищать консоль при помощи команд самой командной строки операционной системы, а чтобы это работало в той же Intellij IDEA.
Ответы (1 шт):
Чтобы очистить экран, можно использовать управляющие последовательности ANSI. Такие последовательности начинаются со специального escape-символа \033 (или \u001b), после которого следует символ [, далее следует команда.
В нашем случае, для очистки всего экрана, нужно выполнить две команды:
H— переместить курсор на определенную позицию. По умолчанию передвигает курсор в начало экрана. Команда10;5Hпередвигает курсор на 10 строку в 5 колонку.J— очистить экран от курсора до конца экрана. Также есть вариации1Jи2J.
Таким образом, чтобы очистить терминал, нужно распечатать две последовательности:
System.out.print("\033[H\033[J");
Этот способ будет работать в терминалах, которые поддерживают управляющие символы ANSI.