有時需要在一個文件流中順序的讀取一段一段的數據,例如一幀一幀地讀取圖像,是非常有用的。
打開文件:
fStream = new System.IO.FileStream(fileName, FileMode.Open);
fileLen = fStream.Length;//文件的長度
curPos = 0;//記錄文件指針當前的位置
frameSize = imWidth*imHeight*4;//每一段數據的大小(字節數)
pdata = new byte[frameSize];//用於存放數據的buffer
讀取下一段數據:
if(curPos<fileLen)
{
fStream.Read(pdata,0,frameSize);//讀一幀數據
curPos+=frameSize;
fStream.Seek(curPos, SeekOrigin.Begin);//更新文件指針
//...
}
else
{
MessageBox.Show("已到文件尾!");
return;
}
稍加修改也可實現每次往前讀一幀數據。