• ベストアンサー

コマンドプロンプトでパスワード入力をするには?

タイトルの通り、コマンドプロンプトでパスワード入力をさせるプログラムを作りたいのですが、一般的に入力時に使用されているInputStreamReaderやBufferedReaderを組み合わせた方法では入力した文字がそのまま出力されてしまいますのでパスワードとして問題がありますよね。そこで、どのような文字を入力しても「アスタリスク(*)を出力する」あるいは「何も出力しない」ようにする方法を調べているのですがなかなかうまくいきません。これを実現するにはどのようにすればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

標準のJavaAPIのみでは出来ません。 JNIや外部コマンド使って実装するなりしなければなりません。

progx200xi
質問者

お礼

ご回答ありがとうございました。 なかなか、一筋縄ではいかないようですね・・・

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

調べてみたのですが、 System.out System.err をcloseすれば、入力文字が出力されなくなりますが、 一度クローズした標準出力と標準エラー出力を再度オープンすることができません。 ファイルディスクリプタクラスを(継承もできないし)改造すればできるのかもしれませんが、掟破りですね。

progx200xi
質問者

お礼

ご回答ありがとうございました。 >一度クローズした標準出力と標準エラー出力を再度オープンすることができません。 試したみましたが、確かにこれでは何もできないので意味がないですね。難しいところです。

関連するQ&A

専門家に質問してみよう