Javaでコードを作成する際に、コンソールから入力した値を使えると勉強する幅が広がります。
ということで今回はBufferedReaderを使用してコンソールから入力した値を扱えるようになりたいと思います。
Contents
コンソールに入力した値を扱う
詳しい仕組みはググっていただくとして、以下のように文字列を扱います。
軽く説明すると、System.inを読み込むことでキーボードの入力を受け取ることができます。InputStreamReaderクラスでSystem.iniフィールドをラップしてバイトストリームから文字ストリーム(デフォルトcharset)へデコードします。変換効率を高めるためにBufferedReaderでInputStreamReaderをラップしています。BufferedReaderはread()が効率よく動作しない(FileReaderやInputStreamReader)時に使用します。
試しにBufferedReaderを外したら1文字しか取得できず、int型とchar型しか扱えませんでした。
おわり
BufferedReader以外にもScannerを使って読み込む方法もあります。Scannerを使ったほうが比較的簡単に入力値を扱えるので、テストには最適そうです。
BufferedReaderのほうが面倒な分いろいろできるとか、なんとか。BufferedReaderをはじめに覚えたのでBufferedReaderを使用していますが、Scannerを使うこともあるらしいので合わせて使っていきたいところです。