System.inが属するInputStreamの段階では,入力データはただのバイト列,つまり8ビット単位のデータの列として扱われています.これを“文字”として解釈する役目が,入力ストリームのリーダ(InputStreamReader)です.このクラスのオブジェクトを作るときには,扱うべき入力ストリームを指定します.たとえば
InputStreamReader isreader = new InputStreamReader(System.in);
とすると,入力ストリームSystem.inを扱うリーダである変数isreaderが作られます.ここではたとえば,2バイトで一文字を表わす日本文字への対応などを行ないます.
さらに,入力ストリーム・リーダから次々と得られる文字を一度ためておいて,入力作業を効率化するとともに,数値や文字列などへ変換する作業をやりやすくしているのが,バッファリーダ(BufferedReader)です.このクラスのオブジェクトを作る時には,扱うべき入力ストリーム・リーダを指定します.たとえば,
BufferedReader keyboard = new BufferedReader(isreader);
とすると,リーダisreaderを扱うバッファリーダkeyboardが作られます.
これだけの準備をして,やっと快適(?)な文字入力が可能となります.ここで用意した BufferedReader クラスの変数keyboardによって,以下のような処理ができます.
26.1.8.6 ストリームによる入力 | 26.1.8.7 ストリームリーダ | 26.1.8.8 ファイルからの入力 | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Sat, 12 Feb 2005 02:20:46 JST (1631d) |