Tworzę małą aplikację Java, która powinna mieć wskaźnik postępu z procentami. W każdej pętli używa Backspace, \b
aby usunąć wyświetlany postęp przed wyświetleniem następnego procentu.
Oto uproszczony przykład:
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!");
}
Działa to doskonale w wierszu poleceń, ale znak backspace nie jest rozpoznawany w konsoli Eclipse (kompilacja Galileo 20090920-1017). Zamiast tego wyświetla pusty kwadrat oznaczający nieznany znak. Zobacz zrzut ekranu:
Jak sprawić, aby Eclipse prawidłowo „wyświetlał” backspace? To znaczy niech usunie poprzedni znak.
W rzeczywistości nie jest to showstopper, ponieważ zostanie uruchomiony w konsoli poleceń, ale byłoby miło, gdyby działał również w Eclipse :)