BufferedReaderでコンソールで入力した値を扱う方法!Java超初心者の勉強

2020-08-21

Javaでコードを作成する際に、コンソールから入力した値を使えると勉強する幅が広がります。
ということで今回はBufferedReaderを使用してコンソールから入力した値を扱えるようになりたいと思います。

コンソールに入力した値を扱う

詳しい仕組みはググっていただくとして、以下のように文字列を扱います。

軽く説明すると、System.inを読み込むことでキーボードの入力を受け取ることができます。InputStreamReaderクラスでSystem.iniフィールドをラップしてバイトストリームから文字ストリーム(デフォルトcharset)へデコードします。変換効率を高めるためにBufferedReaderでInputStreamReaderをラップしています。BufferedReaderはread()が効率よく動作しない(FileReaderやInputStreamReader)時に使用します。

試しにBufferedReaderを外したら1文字しか取得できず、int型とchar型しか扱えませんでした。

おわり

BufferedReader以外にもScannerを使って読み込む方法もあります。Scannerを使ったほうが比較的簡単に入力値を扱えるので、テストには最適そうです。
BufferedReaderのほうが面倒な分いろいろできるとか、なんとか。BufferedReaderをはじめに覚えたのでBufferedReaderを使用していますが、Scannerを使うこともあるらしいので合わせて使っていきたいところです。

Java

Posted by Nakamoto