15章ファイルとストリーム

 これまで本書で紹介してきたテクニックのほとんどは、オブジェクトや変数として表された情報を操作するものでした。この種の情報は特定のプロセスのメモリ内に格納されています。しかし、さらに活用するには、プログラムはより広い世界とやり取りする必要があります。そのためにはUIフレームワークを使用することもできますが、外の世界とのさまざまなやり取りに利用できる抽象化があります。それはストリームです。

 ストリームはコンピュータ上で広く使われているので、既によく知っているでしょう。.NETのストリームも多くの他のプログラミングシステムのものとほとんど同じです。ストリームは、単なるバイト列にすぎません。そのため、ストリームはディスク上のファイルやHTTPレスポンスの本体などの多くの一般的な機能に役立つ抽象化です。コンソールアプリケーションは、ストリームを使用して入出力を表します。このようなプログラムを対話的に実行する場合、ユーザがキーボードを使用して入力したテキストがプログラムの入力ストリームになり、プログラムが出力ストリームに書き込んだすべてのデータがスクリーンに表示されることになります。しかし、プログラムが必ずしも入出力の種類を知っているわけではありません。コンソールプログラムでストリームをリダイレクトできるからです。例えば、入力ストリームは実際にはディスク上のファイルかもしれませんし、あるいは別のプログラムの出力かもしません。

一般的な注記
すべてのI/O用APIがストリームをベースにしているわけではありません。例えば、 ...

Get プログラミングC# 第8版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.