Streamクラスはすべてのストリームの基本となる抽象型で、より具体的なストリームはこのクラスから継承して実装されます。 例えば、ファイルを開いて読み書きするためのクラスにFileStreamクラスがありますが、これはStreamクラスから派生したものです。
FileStreamを使ってファイルからデータを読み込む
Imports System
Imports System.IO
Class Sample
Shared Sub Main()
' ファイルsample.datを開き、読み取りアクセスを行うためのFileStreamを作成する
Using stream As New FileStream("sample.dat", FileMode.Open, FileAccess.Read)
' 読み込んだデータを格納するためのバッファ
Dim buffer(3) As Byte
' FileStreamから4バイト読み込みバッファに格納する
stream.Read(buffer, 0, 4)
' 読み込んだデータをInt32(int)に変換して表示する
Dim number As Integer = BitConverter.ToInt32(buffer, 0)
Console.WriteLine(number)
End Using
End Sub
End Class
上記の例のようにStreamクラスに用意されているメソッドを使うことによってデータの読み書きができます。 ただ、Streamクラス単体ではバイト単位・バイナリレベルでの読み書きしかできないので、例えば数値を扱うにはBitConverterクラスを使って読み書きの度に型変換を行うといったことをする必要があります。