如何让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');