我不知道我在這裏做錯了什麼。我的代碼在第一次通過時按預期工作,但在第二次通過時它不會運行,並拋出一個異常,它只是說「閱讀將超出緩衝區%」閱讀會超出緩衝區錯誤
我收集我在做一些錯誤的緩衝區,它不像我一樣覆蓋它?
我基本上是有相同的代碼,改變以匹配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中單工作。
bytesRead變量應該保持爲零,我想。它是緩衝區的偏移量 - 不是文件。 –