Как очистить консоль в Java во время действия программы
Облазил весь интернет но не нашел ответа. Хочу написать простенький консольный to-do list. Хочу чтобы когда я переходил по пунктам меню, консоль очищалась. Как это можно реализовать в рамках консольного Java-приложения? Причем я имею ввиду не очищать консоль при помощи команд самой командной строки операционной системы, а чтобы это работало в той же Intellij IDEA.
Отслеживать
задан 7 авг 2021 в 1:00
Nazar Taranyuk Nazar Taranyuk
23 1 1 серебряный знак 3 3 бронзовых знака
Вы можете просто вывести много переводов строк, чтобы предыдущая информация ушла далеко наверх. И это будет работать везде.
7 авг 2021 в 5:56
7 авг 2021 в 9:24
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Чтобы очистить экран, можно использовать управляющие последовательности ANSI. Такие последовательности начинаются со специального escape-символа \033 (или \u001b ), после которого следует символ [ , далее следует команда.
В нашем случае, для очистки всего экрана, нужно выполнить две команды:
- H — переместить курсор на определенную позицию. По умолчанию передвигает курсор в начало экрана. Команда 10;5H передвигает курсор на 10 строку в 5 колонку.
- J — очистить экран от курсора до конца экрана. Также есть вариации 1J и 2J .
Таким образом, чтобы очистить терминал, нужно распечатать две последовательности:
System.out.print("\033[H\033[J");
Этот способ будет работать в терминалах, которые поддерживают управляющие символы ANSI.
Как очистить командную строку java
Здравствуйте.
Скжите пожалуйста, как сделать так, чтобы cmd-окно пропадало после запуска Java-приложения?
Использую javaw, а она не исчезает. Можно закрыть но не исчезает само.
Re: Как скрыть cmd-окно во время выполнения приложения?
| От: | Blazkowicz | |
| Дата: | 06.09.07 10:50 | |
| Оценка: | 1 (1) | |
Здравствуйте, N_i_t_r_o, Вы писали:
N__>Здравствуйте.
N__>Скжите пожалуйста, как сделать так, чтобы cmd-окно пропадало после запуска Java-приложения?
N__>Использую javaw, а она не исчезает. Можно закрыть но не исчезает само.
Используй start для запуска. Дело ведь совсем не в Java а в том как ты консоль пускаешь.
Re[2]: Как скрыть cmd-окно во время выполнения приложения?
| От: | N_i_t_r_o |
| Дата: | 06.09.07 11:23 |
| Оценка: |
Здравствуйте, Blazkowicz, Вы писали:
B>Используй start для запуска. Дело ведь совсем не в Java а в том как ты консоль пускаешь.
Выдаёт следующий Error
—————————
-jar
—————————
Windows не удалось найти ‘-jar’. Проверьте, что имя было введено правильно, и повторите попытку. Чтобы выполнить поиск файла, нажмите кнопку «Пуск», а затем выберите команду «Найти».
—————————
ОК
—————————
Делаю без start — работает (но опять же окно не пропадает).
Re[3]: Как скрыть cmd-окно во время выполнения приложения?
| От: | N_i_t_r_o |
| Дата: | 06.09.07 11:27 |
| Оценка: |
Кстати непосредственно к делу не относится, но может быт кому-то пригодится.
Q: Как запускать *.JAR по клику?
A: В Панели управления -> Свойства папки -> Тип файлов : для JAR жмем батон «Восстановить»
Re[3]: Как скрыть cmd-окно во время выполнения приложения?
| От: | Blazkowicz |
| Дата: | 06.09.07 11:31 |
| Оценка: |
Здравствуйте, N_i_t_r_o, Вы писали:
B>>Используй start для запуска. Дело ведь совсем не в Java а в том как ты консоль пускаешь.
N__>Выдаёт следующий Error
Будем играть в угадай как я пытаюсь запустить свой jar?
Re[4]: Как скрыть cmd-окно во время выполнения приложения?
| От: | N_i_t_r_o |
| Дата: | 06.09.07 11:41 |
| Оценка: |
Blazkowicz, Вы писали:
B> Будем играть в угадай как я пытаюсь запустить свой jar?
Давайте не будем.
@»%JAVA_HOME%»bin\java -version
«%JAVA_HOME%»bin\javaw -jar ArmSla.jar
, который работает, но не закрывает cmd-окно.
@»%JAVA_HOME%»bin\java -version
start «%JAVA_HOME%»bin\javaw -jar ArmSla.jar
JAVA_HOME — переменная среды (C:\Program Files\Java\jre1.6.0_02\)
Как сделать, чтобы cmd-окно исчезало?
Re[5]: Как скрыть cmd-окно во время выполнения приложения?
| От: | Blazkowicz | |
| Дата: | 06.09.07 11:55 | |
| Оценка: | 4 (1) | |
Здравствуйте, N_i_t_r_o, Вы писали:
N__>start «%JAVA_HOME%»bin\javaw -jar ArmSla.jar
Все дело в кавычках, они для start определяют текст заголовка окна. Они там точно нужны?
Пробуй варианты
start %JAVA_HOME%\bin\javaw -jar ArmSla.jar
start «Title» «JAVA_HOME%\bin\javaw» -jar ArmSla.jar
Ещё для общего развития рекомендую позапускать start /? и cmd /? — найдешь много полезной информации.
Re[6]: Как скрыть cmd-окно во время выполнения приложения?
| От: | N_i_t_r_o |
| Дата: | 06.09.07 12:03 |
| Оценка: |
Как очистить командную строку java
Нравится ресурс?
Следующие правила действуют в данном разделе в дополнение к общим Правилам Форума
1. Здесь обсуждается Java , а не JavaScript ! Огромная просьба, по вопросам, связанным с JavaScript, SSI и им подобным обращаться в раздел WWW Masters или, на крайний случай, в Многошум.
2. В случае, если у вас возникают сомнения, в каком разделе следует задать свой вопрос, помещайте его в корневую ветку форума Java . В случае необходимости, он будет перемещен модераторами (с сохранением ссылки в корневом разделе).
3. Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
4. Не рекомендуется создавать несколько несвязанных вопросов в одной теме. Пожалуйста, создавайте по одной теме на вопрос.
Модераторы: dark_barker, wind
‘> Как очистить консоль , во время работы программы
Очистка консоли
Всем здравствуйте.
Начал изучать JAVA в консоль пишу/читаю без проблем.
Решил очистить консоль чтоб было все красиво и не смогу найти рабочих решений.
Подскажите плиз решение.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Очистка консоли в Java
Добрый день. На С++ есть функция system("cls") которая чистит консольку. Есть ли что то подобное.
Очистка консоли
Есть ли в java команда, написав которую, все , что было написано до этой функции в консоле.
Циклы: вывести в первую строчку консоли строку из 10 заданных букв и во вторую строчку консоли из 5 таких букв
Задана буква. Вывести в первую строчку консоли строку из 10 таких букв и во вторую строчку консоли.
70 / 70 / 17
Регистрация: 09.08.2011
Сообщений: 115
Записей в блоге: 3
Можно сделать батник для запускаемого класса :
echo off java HelloWorld echo off pause
Регистрация: 11.12.2009
Сообщений: 20
можно попробовать так:
Runtime runtime = getRuntime(); Process process = runtime.exec("clear"); //для linux, в виндовс "cls"
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
VIPzasada, никак без jni/jna консоль не очистить.
2586 / 2259 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
ну можно принтануть пару сотен тыщ пробелов и экран очистится )))
![]()
4090 / 3824 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
Сообщение от mutagen 
ну можно принтануть пару сотен тыщ пробелов и экран очистится )))
Одной сотни новых строк будет достаточно.
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
Сообщение от turbanoff 
Сообщение от mutagen 
ну можно принтануть пару сотен тыщ пробелов и экран очистится )))
Одной сотни новых строк будет достаточно.
Имеет право на существование для полноэкранных консолей, либо консолей у которых нет полосы прокрутки. А в общем случае это заведомо кривое решение, которое основывается на каком-то заведомо предусмотренном размере консоли.
![]()
4090 / 3824 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
Сообщение от aleksandy 
Имеет право на существование для полноэкранных консолей, либо консолей у которых нет полосы прокрутки. А в общем случае это заведомо кривое решение, которое основывается на каком-то заведомо предусмотренном размере консоли.
Не кривого решения не может существовать, так как консоль — это не обязательно окошко, в которое выводится текст.
Консоль в java — набор трех потоков: 2 PrintStream и 1 InputStream. Можно что угодно подставить вместо привычной консоли — хоть файл, хоть сокет, даже http-сессию если постараться.
