使用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