ストリーム・ファイルとデータベース・ファイル
ストリーム・ファイルと IBM® i データベース・ファイルを比較すると、 ストリーム・ファイルをよりよく理解できます。
統合ファイル・システムでは、ストリームは単なる連続した文字ストリングです。 データベース・ファイルはレコード単位で編成されていて、長さやデータ・タイプなどの特定の性質を持つ 1 つ以上のフィールドに事前に分割されています。
図 1. ストリーム・ファイルとレコード単位ファイルとの比較

IBM i でのデフォルトの C/C++ ストリーム入出力は、IBM i データベース・ファイルに重ねてシミュレートされます。 図 2 は、IBM i レコードがどのように C/C++ ストリームにマップされるかを示しています。これは、IBM i レコードで処理するシミュレートされたストリーム・ファイルです。
図 2. IBM i レコードの C/C++ ストリーム・ファイルへのマッピング

ストリーム・ファイルおよびレコード単位ファイルの構造における相違点は、その対話用にアプリケーションをどのように書くか、またアプリケーションにどのタイプのファイルが最適であるかに影響します。
- レコード単位ファイル は、名前、住所、勘定残高などの顧客情報を保管するのに適しています。 これらのフィールドは、IBM i の拡張プログラミング関数を使用すると、個別にアクセスおよび処理することができます。
- ストリーム・ファイル は、さまざまな色を表す一連のビット・ストリングで構成された顧客の写真などの情報を保管するのに適しています。ストリーム・ファイルは、文書のテキスト、イメージ、音声、 およびビデオなどのデータのストリングを保管するのに特に適しています。