//创建一个二进制类
void BinarySerTest()
{
TestSerilize testSerilize = new TestSerilize();
testSerilize.Id = 2;
testSerilize.Name = “二进制”;
testSerilize.List = new List();
testSerilize.List.Add(4);
testSerilize.List.Add(5);
BinarySerilize(testSerilize);
}
//二进制序列化
void BinarySerilize(TestSerilize serilize)
{
FileStream fs = new FileStream(Application.dataPath + “/test.bytes”, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, serilize);
fs.Close();
}
//二进制反序列化
TestSerilize BinaryDeSerilize()
{
TextAsset textAsset = UnityEditor.AssetDatabase.LoadAssetAtPath(“Assets/test.bytes”);
MemoryStream stream = new MemoryStream(textAsset.bytes);
BinaryFormatter bf = new BinaryFormatter();
TestSerilize testSerilize = (TestSerilize)bf.Deserialize(stream);
stream.Close();
return testSerilize;
}
//读取反序列化
void BinaryDEseriliTest()
{
TestSerilize testSerilize = BinaryDeSerilize();
Debug.Log(testSerilize.Id + " " + testSerilize.Name);
if (testSerilize != null)
{
foreach (int a in testSerilize.List)
{
Debug.Log(a);
}
}
}
注意:序列化成功后才能读取反序列化 !