【发布时间】:2016-02-19 17:51:20
【问题描述】:
我正在读取二进制文件,并且我想知道二进制文件包含的自定义对象的元素数量(这使得搜索具有大小的 EOF 毫无用处,因为它全都与元素的数量有关)。
这就是我现在正在做的事情:
using (var stream = File.OpenRead(openDialog.FileName))
using (var reader = new BinaryReader(stream))
{
while (CustObject.ReadFromBinaryReader(reader) != null)
{
objList.Add(CustObject.ReadFromBinaryReader(reader));
}
}
但由于某种原因,这不起作用。我收到错误消息:Unable to read beyond end of stream. 因此,我想找出二进制文件中有多少元素,并使用该计数将所有对象读入对象列表。
我想到的另一种方法是,当我编写二进制文件时,将多少元素写入文件。
binaryWriter.Write(string.Format("{0}", objList.Count()));
但是,我不知道如何读取这个数字,所以我认为for 循环是最好的选择。
【问题讨论】:
标签: c# file io binaryreader binarywriter