Переопределить предыдущий вывод консоли - PullRequest
2 голосов
/ 14 марта 2012

возможно ли переопределить последний System.out.println вывод, так что я могу, например, визуализировать изменения в массиве или создать прогесбар?

Например, если у меня есть этот класс:

class Main{
  public static void main(String[] args){
    for(int i = 0; i < 10; i++){
      for(int j = 0; j < i; j++){
        System.out.print("#");
      }
      System.out.println("");
    }
  }
}

Что мне нужно сделать, чтобы создать этот простой индикатор выполнения, который отображается в одной строке, а не в 10 отдельных строках?

1 Ответ

3 голосов
/ 14 марта 2012

Это работает на моей конкретной консоли (Windows), но не очень переносимо ...

public class Test {
    public static void main(String[] args) throws Exception {
        for (int i = 0; i < 100; i++) {
            System.out.print("#");
            if (i % 20 == 0) {
                System.out.print("\r                    \r");
            }
            System.out.flush();
            Thread.sleep(100);
        }
    }
}

Есть также класс Console, но это, на самом деле, не так уж и дорого, насколько я вижу ...

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