私は少しの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でも同様に動作するのは良いことです。
Eclipse Bug#76936。 修正を期待していません。回避策は記載されていません。
より高度なコンソールを提供するプラグインを見つけることができるかもしれません。
バックスペース\ bを使用して表示された進行状況を削除することはできませんが、printlnを呼び出すループでコンソールをクリアすることで削除できます。もちろん、このklugeはログファイルをクリアしません!
修正済み、Eclipse Mars。
Eclipseコンソールが遅れるので、私はそれを定期的な更新に使用しないことに注意してください。