使用Java更新控制台窗口

6

如何让Java更新当前控制台窗口,而不是换行(或将新内容附加到旧内容上)。

例如,如果我想演示进度,我会输出progress n,其中n将是给定的百分比。

显然,我想做的就是简单地更新当前百分比。任何帮助都将不胜感激。

1个回答

6
像这样的内容?
public class Test {   
    public static void main(String[] args) throws InterruptedException {
        for (int i = 0; i < 100; i++) {
            System.out.print("\rThinking... " + i);
            System.out.flush();
            Thread.sleep(100);
        }
    }
}

当然,并不是所有的控制台都能够保证运行正常(有些IDE可能会遇到问题),但任何遵循“回车符”("\r")的控制台都应该没有问题。


似乎不起作用,我只是得到了每行一个新百分比的新行(无论是在我的IDE还是命令提示符/PowerShell中)。 - richzilla
1
是的,在NetBeans中它不起作用。但在标准控制台中,它表现得非常好。 - Rogach
2
非常抱歉,如果您使用 print 而不是强制换行符 println,它将表现出色...我真的应该学会认真阅读事物。 - richzilla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接