如何往反序列化后的文件里面添加或修改文件内容? 本帖最后由 hjk89757 于 2010-10-02 11:29:43 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 除了学生,还有人会如此“被注”吗?干实际的工作时,只要符合a.txt的规范就可以,没人可以管你如何写代码。 File.AppendAllText序列化class person{}FileStream fs = new FileStream(@"D:/person.txt", FileMode.OpenOrCreate, FileAccess.Write);BinaryFormatter bf = new BinaryFormatter();bf.Serialize(fs, p);//反序列化 object obj=bf.Deserialize(fs)fs.Close(); 如果“要求就是这样”,那么大多是面试题。其“解决”流程只能是:1. 反序列化出所有内容,在内存中形成对象的集合。2. 对此集合进行更改。3. 序列化并写到一个新的临时文件中。4. 删除原来的文件。5. 将临时文件改为此文件。6. 删除临时文件。如果在windows的临时文件目录,则不必删除,将来系统会自动定时清理垃圾。 实际上你的a.txt的规范是稀里糊涂的。如果这是一个比较专业的题目,不应该如此出题。我们知道,即使是大型的关系数据库,其数据保存形式最终也不过(几乎都)是文件形式的。比如说,a.txt中的数据是不是分块存储的?有没有多种数据结构(例如b+树)?如果是分块的,那么添加一个人员信息则需要按照a.txt的规范来查询空闲的数据库或者申请新的数据块,以随机顺序方式访问文件内容。至于是不是需要使用序列化、反序列化则根本不知道。所以看你的这个问题,大概出题者只知道把一个反序列的字符串重新写到文件中这一种操作概念,才会出出稀里糊涂不去描述a.txt内容规范的题目。 需要按照a.txt的规范来查询空闲的数据库或者申请 --> 需要按照a.txt的规范来查询空闲的数据块或者申请 action里取不到form的值 C# socket编程 请高手指导 怎么用在winform中将数据添加到word中? 执行到TcpListener.AcceptSocket()就不继续执行了 ****************求一SQL语句****************** MapObjects 图层显示 请教大侠二个问题 狂郁闷的编码问题,具有挑战性 菜鸟问题! WinForm项目开发框架的问题 如何往反序列化后的文件里添加一行新的内容 如何把QQ好友资料导出到一个文本文件?
除了学生,还有人会如此“被注”吗?干实际的工作时,只要符合a.txt的规范就可以,没人可以管你如何写代码。
序列化
class person{}
FileStream fs = new FileStream(@"D:/person.txt", FileMode.OpenOrCreate, FileAccess.Write);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, p);
//反序列化 object obj=bf.Deserialize(fs)
fs.Close();
1. 反序列化出所有内容,在内存中形成对象的集合。
2. 对此集合进行更改。
3. 序列化并写到一个新的临时文件中。
4. 删除原来的文件。
5. 将临时文件改为此文件。
6. 删除临时文件。如果在windows的临时文件目录,则不必删除,将来系统会自动定时清理垃圾。