我想知道在java中是否有一种方法来替换你输出到终端的输出行,这样你就可以像进度条/计数器那样做。
我想做一些类似于打印出“记录插入1/1000”然后“记录插入2/1000”的内容,替换它以便只显示最新的记录。
答案 0 :(得分:1)
打印\ r \ n字符,将光标放在行的开头。然后写下新的一行。
public static void main(String[] args) throws InterruptedException {
System.out.print("test");
Thread.sleep(3000);
System.out.print('\r');
System.out.print("lulz");
}
答案 1 :(得分:0)
只需重新连接System.out管道以通过您自己的过滤器。例如System.out = new MyStream(System.out);
然后,您需要实施MyStream
:
public class MyStream extends PrintStream {
private PrintStream standardOut;
public MyStream(PrintStream standardOut) {
this.standardOut = standardOut;
}
... Then here override the appropriate methods (e.g. `println()`, etc...) to correct the output and send it to `standardOut`.
}