使用BinaryReader将二进制文件的元素放入Int16列表中。 但是从二进制文件读回的元素的计数值不正确。 这里是读者:BinaryReader缺失值
using (var file = File.OpenRead(openFileName))
using (var reader = new BinaryReader(file))
{
int count = reader.ReadInt16();
this.view.Data = new List<Int16>(count);
for (int i = 0; i < count; i++)
this.view.Data.Add(reader.ReadInt16());
}
我知道,当IM节省了view.Data列表constains 19000元我的二进制文件,但后来我上面它告诉我,所示的读法期间看的计数值数只有134 :(
这里是writter:
using (var file = File.Create(fileName))
using (view.Writer = new BinaryWriter(file))
{
foreach (Int16 dataItem in view.Data)
{
view.Writer.Write(dataItem);
}
}
文件总大小后写为40KB,而当在调试模式下view.Data包含读取时19000 savign时,只有134?
任何人都可以请帮助
什么是您正在阅读的文件的文件大小? – BrokenGlass 2011-03-19 18:09:50
显然,读写代码之间存在不匹配。或者编写代码不在文件的开始处开始。如果没有帮助,请发布编写代码。您可以使用十六进制查看器来获得关于文件内容的第二种意见。 – 2011-03-19 18:10:54
@Hans - 这就是为什么我要求的文件大小 - 它应该是38002个字节,如果它确实包含一个计数和19000个Int16值。 – BrokenGlass 2011-03-19 18:17:17