0.前置条件
using ProtoBuf;
[ProtoContract]
public class User{
[ProtoMember(1)]
public int ID { get; set; }
[ProtoMember(2)]
public string Username { get; set; }
[ProtoMember(3)]
public string Password { get; set; }
[ProtoMember(4)]
public int Level { get; set; }
[ProtoMember(5)]
public UserType _UserType { get; set; }
public enum UserType
{
Mastor,
Warrior
}
public User() { }
public User(int id,string name,string pass,int level,UserType type)
{
this.ID = id;
this.Username = name;
this.Password = pass;
this.Level = level;
this._UserType = type;
}
public override string ToString()
{
return this.ID+" "+this.Username+" "+this.Level+" "+this.Password+" "+this._UserType;
}
}
1.创建一个文件
string path = Application.dataPath + "/Demo1/Scripts/TextStruct/use.bin";
(1)
User user = new User(100, "So", "dfs", 20, User.UserType.Mastor);
FileStream fs = File.Create(path);
Serializer.Serialize<User>(fs, user);
fs.Close();
(2)
using (var fs = File.Create(path))
{
Serializer.Serialize<User>(fs, user);
}
2.读取一个文件(解析一个文件)
User ds ;
using(var fs = File.OpenRead(path))
{
ds = Serializer.Deserialize<User>(fs);
}
Debug.Log(ds);