Unity 中保存数据到本地文件

小右保存的是账号密码到本地,采用的方式比较普通。下面简单给大家分享一下基本原理,大家可以后续完善。

//随便写一个账号的结构体 CRC加密

public struct NormalAccountInfo
{
    public string UID ;
    public uint CRC;
    public uint CRC2;

}

//账户数据一些操作方法

class AccountData

{

NormalAccountInfo  AccountInfo;

//保存账户数据

   public bool SaveAccountData()

  {

 

   MemoryStream ms=new MemoryStream();

  BinaryWriter bw =new BinaryWriter(ms);

  bw.Write(AccountInfo.UID);

  bw.Write(AccountInfo.CRC);  

bw.Write(AccountInfo.CRC2);  

 

 

if( !SaveLocalFile("LocalData.dat",ms.ToArray()))

 

 

{

 

bw.Close();

return false;

 }

else

{

 bw.Close();

 return true;

}

 

 

}

//保存到文件

bool SaveLocalFile(string fileName,byte[] data)

{

string path=Application.dataPath+"/data/"+"fileName"

 if(File.Exists(path))

 File.Delete(path)

  FileStream fs=new FileStream(path,FileMode.CreateNew);

    if(fs==null)

 

 

 return false;

 

fs.Write(data,0,data.Length);

 

fs.Close();

return true;

 

}

//下载数据

public void LoadAccountData()

{

      byte[] data =GetLocalFile("LocalData.dat");

if(data==null)

return;

MemoryStream ms=new MemoryStream(data);

BinaryReader br=new BinaryReader(ms);

//按着定义的类型读出数据

AccountInfo.UID=br.ReadString();

AccountInfo.CRC=br.ReadUInt32();

}

//获得本地文件

public byte[] GetLocalFile(string FileName)

{

     string path=Application.dataPath+"/data/"+"fileName";

       if(File.Exists(path) == false)
            return null;
        FileStream fs = new FileStream(path, FileMode.Open);
        if (fs == null || fs.Length == 0)
            return null;
        byte[] data = new byte[fs.Length];
        fs.Read(data, 0, data.Length);

        fs.Close();

        return data;

}

}

 

 

 

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值