C# 如何判断文件是否是序列化的文件
比如我有个文件setting.txt。如何判断这个文件是否是被序列化后的文件。如果是被序列化后的文件,我就对他进行反序列化。...
比如我有个文件 setting.txt 。如何判断这个文件是否是被序列化后的文件。如果是被序列化后的文件,我就对他进行反序列化。
展开
2个回答
展开全部
存储的数据要有共同的规律性,MVC中的Model部分一般都做到序列化。
既然是序列化后的文件,当然也可以反序列化。
追问
我的意思是怎么判断这个文件是不是被序列化后存储的文件。如果是,我就进行操作,如果不是我就做别的操作
追答
try catch,如果你的文件不是序列化出来的,在反序列化的时候会报反序列化的EXCEPTION:
SerializationException,你可以判断是SerializationException再调用你要用的方法
展开全部
这个要看你的文件序列化的方式了:
如果是以xml格式序列化的话,你就要去判断这个文件是不是xml格式的,而且如果不是你自己序列化的话,你就要写一个可序列化的对象来处理这个文件,不然是无法反序列化的。而且这种方式只能还原xml中有的信息,原对象中私有的是无法序列化到xml中的,所以无法还原
如果是二进制格式的话,估计就困难了。如果是自己的序列化对象序列化出来的文件,一般做法是定义文件后缀或者序列化后在内容上加文件识别标识,这样就可以了。如果是别人的文件,估计就不好做了
当然,别忘记了异常处理。如果不能反序列化成你想要的对象,其本身就说明这个文件不是你想要的文件或者根本就没有序列化
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询