Javaの入力がわかりずらい

こちらで説明した記事だとKotlinの拡張関数を使って簡潔に書いている。 が、それだと処理の流れを追い辛い(かもしれない)のでここではJavaで解説します。

登場人物

・InpurStream ・InputStreamReader ・BufferedReader

InputStreamとは

データ入力に対するストリーム ストリームについてはこちらを参照 ストリーム

InputStreamReader

文字列入力を読み込むためのリーダー 文字列を読み込みたいのでInputStremを文字列情報に変換する。

使い方はコンストラクタにいれるだけ

BufferedReader

InputStreamをBufferingするためのリーダー Buffering ・・・バッファを使い読み書き回数を減らすこと →InputStremReaderのままだと一字ずつしか読むことができないので効率が悪い。 BufferedReaderを使うことで一行ずつ読み込むことが可能になる。

使い方はコンストラクタにいれるだけ

いざ

// 文字列を読むためのReaderを作る
InputStreamReader isr = new InputStreamReader(new InputStream());
// このままでは効率が悪いためBufferedReaderを作る
BufferedReader br = new BufferedReader(isr);
// あとは一行づつ読み込むことができる。
int i = 0;
while(br.ready()){
  String str = br.readLine();
  System.out.println("The " + i++ + "th line : " + str);
}

間違っていましたらコメントください(__)