串行化和直接写文件的区别在于,串行化不用定义文件结构。顺序存储的情况下,二者的区别不是很大。 如: struct { int a; int b; int c; } 上面这个结构,你是否使用串行化都没有多少区别。 但是像List<object>这样的较复杂的结构,object也可能是复杂的结构类型,你如何保存到文件中呢?如果是直接写文件,你需要定义好文件结构,把数据提取出来,按你定义好的结构写入到文件中。恢复的时候,需要先读取数据,然后解析数据,最后根据解析后的数据构造List<ojbect>对象。使用串行化就简单多了,不需要定义文件结构,直接将List<object>串行化后写入。读取的时候也不需要解析数据,直接反串行化即可构造出List<object>对象。
如:
struct
{
int a;
int b;
int c;
}
上面这个结构,你是否使用串行化都没有多少区别。 但是像List<object>这样的较复杂的结构,object也可能是复杂的结构类型,你如何保存到文件中呢?如果是直接写文件,你需要定义好文件结构,把数据提取出来,按你定义好的结构写入到文件中。恢复的时候,需要先读取数据,然后解析数据,最后根据解析后的数据构造List<ojbect>对象。使用串行化就简单多了,不需要定义文件结构,直接将List<object>串行化后写入。读取的时候也不需要解析数据,直接反串行化即可构造出List<object>对象。