我想创建将对象序列化为文件的方法。比我读取文件并将内容作为字符串获取。我将字符串保存在数据库中,然后从数据库中读取字符串并将其反序列化为对象
我几乎做到了,但我得到了错误there is no map for object
这就是我序列化对象的方式
public static String Serialize(Object toSerialize)
{
Random random = new Random();
int randomNumber = random.Next(100000, 1000000000);
String fileName = randomNumber + ".txt";
fileName = "EmployeeInfo.txt";
Stream stream = File.Open(fileName, FileMode.Create);
BinaryFormatter bformatter = new BinaryFormatter();
bformatter.Serialize(stream, toSerialize);
stream.Close();
String fileContent = File.ReadAllText(fileName);
return fileContent;
}
这就是我将 String 转换为 Stream 以进行反序列化的方式
String serialized = Serializer.Serialize(user);
MemoryStream mStream = new MemoryStream();
StreamWriter writer = new StreamWriter(mStream);
writer.Write(serialized);
writer.Flush();
mStream.Position = 0;
现在反序列化
public static Object Deserialize(Stream stream)
{
Object returnObject;
BinaryFormatter bformatter = new BinaryFormatter();
returnObject = (Object)bformatter.Deserialize(stream);
stream.Close();
return returnObject;
}
我在哪里犯错?我应该怎样做才能让它更好地工作?