アプリ版:「スタンプのみでお礼する」機能のリリースについて

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))

BufferedReaderは参照型(クラス)、readerは変数、newはオブジェクトを作らせる、括弧は引数、であることは参考書等で調べはついてますがこれらを関連付けて理解することができません。
これを噛み砕いて(できるだけ難しい言葉を使わずに)教えてくれる方お願いします。。注文が多くてすみません。

A 回答 (2件)

名前(オブジェクト名)が省略されていますが、省略せずに書くと


InputStreamReader iStream = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(iStream) ;
となります。
    • good
    • 0

標準入力ストリームの入力ソースはキーボードという想定で回答します。



標準入力ストリームから得られる値はバイトデータです。
キーボードからの入力はバイトではなく、当然文字として扱いたいと思うので
InputStreamReaderでストリームをラップし、
文字データとして取得できるようにします。
そしてさらに、理由は様々でしょうが
おそらくreadLineメソッドを利用したい等の理由で
BufferedReaderでさらにラップしているのだと思われます。

InputStreamReaderやBufferedReaderは
基本となるストリーム(質問文では標準入力ストリーム)に対して
機能を付加させる目的で使用します。

下記サイトはストリームについてかなり詳しく解説されています。
少し長いですが、図が多く、体系的に解説されているので
ストリームがよく分からないのであれば参考になると思います。
http://www.ohshiro.tuis.ac.jp/~ohshiro/ooprog_b/ …
    • good
    • 0
この回答へのお礼

分かりやすい解答ありがとうございます!

お礼日時:2010/01/18 15:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!