Перейти к содержимому

Как очистить командную строку java

  • автор:

Как очистить консоль в 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 ), после которого следует символ [ , далее следует команда.

В нашем случае, для очистки всего экрана, нужно выполнить две команды:

  1. H — переместить курсор на определенную позицию. По умолчанию передвигает курсор в начало экрана. Команда 10;5H передвигает курсор на 10 строку в 5 колонку.
  2. 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
ну можно принтануть пару сотен тыщ пробелов и экран очистится )))

Эксперт Java

4090 / 3824 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11

ЦитатаСообщение от mutagen Посмотреть сообщение

ну можно принтануть пару сотен тыщ пробелов и экран очистится )))
Одной сотни новых строк будет достаточно.
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843

ЦитатаСообщение от turbanoff Посмотреть сообщение

ЦитатаСообщение от mutagen Посмотреть сообщение

ну можно принтануть пару сотен тыщ пробелов и экран очистится )))
Одной сотни новых строк будет достаточно.

Имеет право на существование для полноэкранных консолей, либо консолей у которых нет полосы прокрутки. А в общем случае это заведомо кривое решение, которое основывается на каком-то заведомо предусмотренном размере консоли.

Эксперт Java

4090 / 3824 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11

ЦитатаСообщение от aleksandy Посмотреть сообщение

Имеет право на существование для полноэкранных консолей, либо консолей у которых нет полосы прокрутки. А в общем случае это заведомо кривое решение, которое основывается на каком-то заведомо предусмотренном размере консоли.

Не кривого решения не может существовать, так как консоль — это не обязательно окошко, в которое выводится текст.
Консоль в java — набор трех потоков: 2 PrintStream и 1 InputStream. Можно что угодно подставить вместо привычной консоли — хоть файл, хоть сокет, даже http-сессию если постараться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *