我对 C# 很陌生,所以请多多包涵。我正在读取(使用 FileStream)数据(固定大小)到小数组,处理数据然后再次读取,依此类推到文件末尾。
我想过使用这样的东西:
byte[] data = new byte[30];
int numBytesToRead = (int)fStream.Length;
int offset = 0;
//reading
while (numBytesToRead > 0)
{
fStream.Read(data, offset, 30);
offset += 30;
numBytesToRead -= 30;
//do something with the data
}
但是我检查了文档和他们的例子,他们说上述读取方法的返回值是:
“类型:System.Int32 读入缓冲区的总字节数。如果该字节数当前不可用,这可能小于请求的字节数,或者如果到达流的末尾,则为零。”
它们目前不可用是什么意思,在读取少量数据时是否真的会发生这种情况,或者这只是针对大量数据?如果只是大,大约有多大,因为我还会在其他一些地方以更大的块阅读。如果这种情况随时可能发生,我应该如何更改我的代码以使代码仍能有效执行?
感谢您的时间和回答。