java – 覆盖以前的控制台输出

是否可以覆盖最后一个System.out.println输出,所以我可以例如可视化数组中的更改或创建progessbar?

例如,如果我有这个类:

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个单独的行中?

这适用于我的特定控制台(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级,但就我所见,这实际上并没有给你带来太多的收获……

https://stackoverflow.com/questions/9693124/override-previous-console-output

转载注明原文:java – 覆盖以前的控制台输出