Я создаю немного 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 "отображать" клавишу Backspace правильно? Т.е. позвольте ему удалить предыдущий символ.
Это не на самом деле никакой showstopper, так как это будет просто выполнено в консоли команды, но было бы просто хорошо заставить это работать в Eclipse также :)
Ошибка Eclipse #76936. Я бы не рассчитывал, что они исправят это, и нет никаких обходных путей.
Возможно, вам повезет найти плагин, который предоставляет более продвинутую консоль.
Ну, это правда, вы не можете использовать backspace \ b для удаления отображаемого прогресса, но вы можете удалить его, очистка консоли с помощью цикла, вызывающего println. Конечно, этот клудж не очистит ваш лог-файл!