0

ここで何が間違っているのかわかりません。私のコードは最初のパスでは期待どおりに動作しますが、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 で作業しています。

4

2 に答える 2