ストリームは、単純なバイト・データをはじめ、プリミティブ型、ローカライズされた文字、オブジェクトなどさまざまな種類のデータに対応しています。 単にデータを渡すだけのストリームもあれば、データを扱いやすいように処理し、変換するストリームもあります。
プログラムではすべてのストリームを、その内部的な動作にかかわらず、連続するデータを表す単純なモデルとして同様に扱います。 入力ストリームを使用して、データをソースからプログラムに1項目ずつ読み取ります。
プログラムへの情報の読取り
プログラムからの情報の書込み
このレッスンでは、プリミティブ値から高度なオブジェクトまで、あらゆる種類のデータを処理できるストリームを見ていきます。
上の図に示したデータソースとデータ出力先は、データを保持、生成、または使用するものであればすべて該当します。 ディスク・ファイルはもちろん、他のプログラムや周辺デバイス、ネットワーク・ソケット、配列などもソースまたは出力先として扱うことができます。
次のセクションでは、もっとも基本的な種類のストリームであるバイト・ストリームを使用して、ストリームI/Oに共通する操作について説明します。入力の例として、xanadu.txt
というサンプル・ファイルを使用します。このファイルには次の文字列が含まれます。
In Xanadu did Kubla Khan A stately pleasure-dome decree: Where Alph, the sacred river, ran Through caverns measureless to man Down to a sunless sea.