日期:2014-05-19  浏览次数:20975 次

BinaryReader 二进制文件流操作位置定位的问题
各位高人,小弟在用BaseStream.Position对文件流位置进行定位时,第一次是准确定位到设定的位置,再定位一次时发现读出来的数据不是正确位置的数据,这是怎么回事,代码如下:
FileStream   FileStrm   =   new   FileStream(txtDBpath.Text.Trim(),   FileMode.Open,   FileAccess.Read);
BinaryReader   BryRead   =   new   BinaryReader(FileStrm);

//起始位置设为第66个字节处
BryRead.BaseStream.Position   =   66;

//将四十个字节读到bytData数组中
bytData   =   BryRead.ReadBytes(bytData.Length);

//再读取第98个字节处的数据                        
FileStrm.Seek(98,   SeekOrigin.Current);                                
bytMark   =   byte.Parse(BryRead.ReadByte().ToString(),   System.Globalization.NumberStyles.HexNumber);

问题就可能出在第二次位置定位时,请各位朋友帮助看一下!谢谢!



------解决方案--------------------
SeekOrigin.Begin吧?
------解决方案--------------------
顶!