如何让backspace \ b在Eclipse的控制台中工作?

我正在创build一个小的Java应用程序,它应该有一个百分比的进度指示器。 在每一个循环中,在显示下一个百分比之前,它使用退格键\b去除显示的进度。

这是一个简单的例子:

 public static void main(String[] args) throws Exception { System.out.print("Progress: "); for (int percentage = 0; percentage < 100; percentage++) { System.out.print(percentage + "%"); Thread.sleep(10); // Stub for "long running task". int length = String.valueOf(percentage).length() + 1; while (length-- > 0) { System.out.print('\b'); } } System.out.println("finished!"); } 

这在命令提示符下完美工作,但在Eclipse的控制台中不能识别退格符(Galileo build 20090920-1017)。 而是显示一个表示未知字符的空方块。 看截图:

替代文字

我如何让Eclipse正确显示退格? 即让它删除以前的字符。

这实际上是没有showstopper,因为它只是在命令控制台中运行,但它将很好,让它在Eclipse中工作以及:)

Eclipse错误#76936。 我不会指望他们修复它,并且没有列出的解决方法。

你可能有幸find一个插件,贡献一个更高级的控制台。

那么,这是真的,你不能使用退格\ b来删除显示的进度,但你可以通过清除控制台调用println循环删除它。 当然这个kluge不会清除你的日志文件!

修正了,Eclipse Mars。

请注意,我不会使用它来不断更新,因为Eclipse控制台滞后。

在while循环中使用:System.out.print(“\ b”),而不是System.out.print('\ b');

    Interesting Posts