Streamってそもそもなんやねん?

Streamとは流れとか連続とかいう意味である。川で水が流れるように、ハードディスクからデータが流れてきたり、メモリからデータが流れてきたり、インターネットやLANなどのネットワークからデータが流れてきたりするわけである。

データを扱う側からすると、それらのデータがどこから来るかなんて気にせずに扱いたいので、このようなStreamという抽象的な考え方が生まれたのだ。

具体的には、


static void ReadByte(System.IO.Stream stream)
{
System.Console.WriteLine( stream.ReadByte() );
}

というような関数を作れば、どんなStreamでもこの関数を呼び出すことにより、先頭のバイトを読み込むことができる。