Перезапись текста на терминале с Java, проблема с Console.read * - PullRequest
0 голосов
/ 20 февраля 2011

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

Моя проблема возникает, когда я использую Console.readPassword или Console.readLine, который создает новую строку, и позже я не могу перезаписать ее.

Я думаю, что моя проблема не связана с чем-то особенным в методах Console.read *, а с новыми строками.\ r идет к началу текущей строки, мне нужно иметь возможность перейти к началу предыдущей строки N и начать перезапись оттуда.Или просто очистить весь экран.

Есть идеи, как мне это сделать?

Спасибо.

1 Ответ

1 голос
/ 20 февраля 2011

В принципе, это зависит от терминала, и с простым Java означает, что нет способа сделать это для всех консолей.

Многие терминалы (по крайней мере, в Unixoid-системах) поддерживают ANSI-escape-последовательности , поэтому вы можете написать что-то вроде "\ u001B [1; 5H", чтобы переместить курсор на строку 1, columnn 5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...