Я создаю небольшое Java-приложение, которое должно иметь индикатор прогресса в процентах. В каждом цикле используется backspace \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 20090920-1017). Вместо этого отображается пустой квадрат, обозначающий неизвестного персонажа. Смотреть скриншот:
Как мне заставить Eclipse правильно «отображать» возврат? То есть пусть он удалит предыдущий символ.
На самом деле это не showtopper, поскольку он будет запущен только в командной консоли, но было бы неплохо также заставить его работать в Eclipse:)