对于y值,如何从位置x开始的二进制文件中读取短路?

时间:2010-06-28 17:33:07

标签: c# binaryreader

我需要从二进制文件中读取一定数量的短(int16)数据点,从特定位置开始。谢谢!

2 个答案:

答案 0 :(得分:3)

您可以简单地将传递给BinaryReader的Stream上的Seek方法调用到您想要开始读取的文件中的位置。

然后,一旦将流传递给BinaryReader,就可以根据需要多次调用ReadInt16方法。

答案 1 :(得分:3)

这样的事情应该为你做到:

private IEnumerable<Int16> getShorts(string fileName, int start, int count)
using(var stream = File.OpenRead(fileName))
{
   stream.Seek(start);
   var reader = new BinaryReader(stream);
   var list = new List<int16>(count);
   for(var i = 0;i<count;i++)
   {
      list.Add(reader.ReadInt16());
   }
}

这基本上就是CAsper在代码中编写的内容