【发布时间】:2014-08-02 14:06:39
【问题描述】:
我有一个由 32 个字节组成的字节数组。 我想从索引位置 16 到 19 读取 4 个字节。 我如何指向二进制阅读器从索引 16 开始阅读。 我正在尝试这些命令
byte[] trace ; // 32 byte array
using (FileStream s = File.OpenRead(filename))
using (BinaryReader r = new BinaryReader(s))
{
r.baseStream.Seek(position,SeekOrigin.Begin);
byte[] by = r.ReadBytes(4);
}
但我不知道该放什么位置?
【问题讨论】:
-
没有。我不想从第 16 个文件索引开始阅读。我想在我已经从文件中提取的数组的第 16 个索引处读取
-
但是您只从数组
by中的文件中读取了4 个字节。数组中的元素不是 16 个,而是 4 个,索引从 0 到 3。 -
我认为你的例子是错误的。您有长度为 32 的字节数组
trace,您需要读取从字节 16 开始的 4 个字节。对吧? -
"我想在我已经从文件中提取的数组的第 16 个索引处读取"。请真的非常非常清楚地提出您的问题:您的问题是关于从 BinaryStream 读取数据,还是您的问题是您不知道如何使用/如何访问数组元素?
-
我说的是 byte[] 跟踪。它包含 32 个元素。现在我想读取 16 到 19 的 4 个元素
标签: c# arrays binaryreader