パーセンテージ付きの進行状況インジケーターが必要な小さな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ビルド20090920-1017)。代わりに、不明な文字を示す空の正方形が表示されます。スクリーンショットを参照してください:
Eclipseにバックスペースを適切に「表示」させるにはどうすればよいですか?つまり、前の文字を削除します。
これはコマンドコンソールで実行されるだけなので、実際には目を見張るものではありませんが、Eclipseでも機能するようにするといいでしょう:)