CopyToメソッドは.NET Framework 4以降で使用可能なメソッドです。 .NET Framework 3.5以前の場合はCopyToメソッドを使うことは出来ないので、次のようにReadメソッド・Writeメソッドを使ってコピー処理を実装する必要があります。
Read/Writeメソッドを使ってStream.CopyTo相当のメソッドを実装する
using System;
using System.IO;
class Sample {
static void Copy(Stream fromStream, Stream toStream, int bufferSize)
{
// 読み込みに使用するバッファを確保
var buffer = new byte[bufferSize];
for (;;) {
// コピー元のStreamからバッファのサイズ分だけデータを読み込む
int len = fromStream.Read(buffer, 0, bufferSize);
if (len == 0)
// コピー元のStreamの終端まで読み込んだらコピー終了
break;
// 読み込んだデータをコピー先のStreamに書き込む
toStream.Write(buffer, 0, len);
}
}
static void Main()
{
using (var fromStream = File.OpenRead("sample.dat")) {
using (var toStream = new MemoryStream()) {
// ファイルの内容をMemoryStreamにコピー (バッファサイズとして64[バイト]を指定)
Copy(fromStream, toStream, 64);
// コピーした内容をバイト配列に変換して表示
Console.WriteLine(BitConverter.ToString(toStream.ToArray()));
}
}
}
}