1. ホーム
  2. java

[解決済み] Java によるコマンドラインプログレスバー

2022-04-28 19:57:25

質問

私は、コマンドラインモードで動作するJavaプログラムを持っています。 私は、ジョブが完了したパーセンテージを示すプログレスバーを表示したいと思います。 Unixでwgetを使って表示されるプログレスバーと同じようなものです。 これは可能でしょうか?

解決方法は?

以前、このようなことを実装したことがあります。 javaのことではなく、コンソールにどのような文字を送ればいいのか、ということです。

の違いがポイントです。 \n\r . \n は新しい行の先頭に移動します。 しかし \r は単なる キャリッジリターン - を実行すると、同じ行の先頭に戻ってしまいます。

そこで、やるべきことは、プログレスバーを表示するために、例えば、文字列を表示することです。

"|========        |\r"

プログレスバーの次のティックでは、同じ行をより長いバーで上書きします。(˶‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾;) 例えば

"|=========       |\r"

覚えておかなければならないのは、完了したときに、もしあなたが単に

"done!\n"

行にプログレスバーのゴミが残っているかもしれません。 ですから、プログレスバーが終わったら、それを行から取り除くのに十分な空白を印刷するようにしてください。 次のようなものです。

"done             |\n"

お役に立てれば幸いです。