ここで何が間違っているのかわかりません。私のコードは最初のパスでは期待どおりに動作しますが、2 番目のパスでは実行されず、「Reading will overrun buffer%」という例外がスローされます。
私はバッファで何か間違ったことをしていると思いますが、それを上書きするのは好きではありませんか?
私は本質的に同じコードを持っていて、それをmsdnの例に合わせて変更しましたが、喜びはありません..
using (Stream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
{
byte[] buffer = new byte[1024];
int bytesRead = 0;
long bytesToRead = stream.Length;
while (bytesToRead > 0)
{
int n = stream.Read (buffer, bytesRead, 1024);
if (n == 0) break;
//do work on buffer...
bytesRead += n;
bytesToRead -= n;
}
}
.Net 2.0 Mono で作業しています。