无需换行即可获得连续状态更新

时间:2014-01-08 17:25:54

标签: java

我正在使用NetBeans 7.4上的Java进行开发,并尝试使用以下代码在同一行上进行连续状态更新。

for (start=0; start<startLimit; ++start){
    System.out.print("Index="+start+" of "+startLimit+"\r");
    System.out.flush();
}

我有两个问题。

  • 我得到一个换行符,我不想要。
  • 输出不会持续更新。我在调试模式下运行,通常只在IDE的控制台窗口中获得更新,当我休息时。似乎每次循环都没有刷新输出。

2 个答案:

答案 0 :(得分:0)

\ r \ n(回车)会导致换行符(就像&#39; \ n&#39;)在Windows中

答案 1 :(得分:0)

你可能会更好地使用退格字符而不是回车符。如果IDE的控制台没有正确解释回车符,可能将无法正确解释退格,但是可以尝试:

String status = "";
for (start=0; start<startLimit; ++start){
    for (int i = 0; i < status.length(); i++) System.out.print('\b');
    status = "Index=" + start + " of " + startLimit;
    System.out.print(status);
}