我正在使用序列化来写入将一些联系人的姓名和电话追加到文件中,我通过将每个联系人附加到文件来单独编写每个联系人。我怎么知道流是结束?
我想从文件中读取这些联系人并将它们放入ListView中。
Stream stream = File.Open("Contacts.dat", FileMode.Open);
BinaryFormatter BFormatter = new BinaryFormatter();
Contacts contact = (Contacts)BFormatter.Deserialize(stream);
listView1.Items.Add(new ListViewItem(new string[] { "", contact.name, contact.phone }));
我做上面的代码我只得到一个接触,如果我再反序列化流我得到的下一次接触
Contacts contact2 = (Contacts)BFormatter.Deserialize(stream);
listView1.Items.Add(new ListViewItem(new string[] { "", contact2.name, contact2.phone}));
我如何可以读取所有联系人后? 或我怎么知道流是结束?
我建议你BFormatter类的文档看。这个班级不是.net的一部分 –
为什么他的班级与这个问题有关? – jgauffin
因为Deserialize方法从流中获取数据,所以它是相关的。这应该告诉他他需要如何退出一个能够从流中获取所有联系人的循环。 –