我需要从二进制文件中读取一定数量的短(int16)数据点,从特定位置开始。谢谢!
问问题
3701 次
2 回答
4
这样的事情应该为你做:
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 用代码写的
于 2010-06-28T17:44:37.617 回答
3
您可以简单地在传递给 BinaryReader 的 Stream 上调用 Seek 方法到要开始读取的文件中的位置。
然后,一旦将流传递给 BinaryReader,就可以根据需要多次调用 ReadInt16 方法。
于 2010-06-28T17:37:40.613 回答