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

Можно ли переписать предыдущую строку в консоли?

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

Если это невозможно, как я могу добиться эффекта анимации? Благодарю.

Моя консоль - стандартный эмулятор терминала Ubuntu 12.04.


Благодаря @MrSmith42 я сделал эту простую демонстрацию, которая показывает способ перезаписи строк:

public class Flush {
    public static void main(String[] args) {
        for(int i = 0; i < 5; i++) {
            System.out.println("**********************************");
        }
        // ESC[5A - cursor up 5 times
        // \r - cursor return to begin of line
        // ESC[J - erase to end of screen
        System.out.print("\033[5A\r\033[J");
        for(int i = 0; i < 5; i++) {
            System.out.println("##################################");
        }
    }
}
4b9b3361

Ответ 1

Это зависит от вашей консоли. Много консолей поддерживают команды vt100, которые позволяют, например, изменение положения курсора или изменение цвета текста или фона.

Я использую его много, чтобы сделать цветной отладочный вывод в моих java-программах оболочке.

Если ссылка мертва, используйте этот поиск google https://www.google.de/search?q=vt100+comands&oq=vt100+comands