[Unity]_INI读写

挂载脚本

/**
*┌──────────────────────────────────────────────────────────────┐
*│ Description:读取或者写入Ini文件的基类 ,其他类想要获取ini配置文件信息,需要该类作为中介                                                  
*│ Author:#Keneyr#                                              
*│ Version:#1.0#                                                
*│ Date:#2019.7.31#  
*│  UnityVersion: #Unity2018.3.2f#                            
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐                                   
*│ ClassName:#ConfigIni#                                      
*└──────────────────────────────────────────────────────────────┘
*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
using System.Text;
using System.IO;

public class ConfigIni
{
    public string path; //ini文件的路径
    public ConfigIni(string path)
    {
        this.path = path;
    }
    [DllImport("kernel32")]
    public static extern long WritePrivateProfileString(string section, string key, string value, string path);
    [DllImport("kernel32")]
    public static extern int GetPrivateProfileString(string section, string key, string deval, StringBuilder stringBuilder, int size, string path);

   
    //写入ini文件
    public void WriteIniContent(string section, string key, string value)
    {
        WritePrivateProfileString(section, key, value, this.path);
    }
    //读取ini文件
    public string ReadIniContent(string section, string key)
    {
        StringBuilder temp = new StringBuilder(255);
        int i = GetPrivateProfileString(section, key, "", temp, 255, this.path);
        return temp.ToString();
    }
    //判断路径是否正确
    public bool IsIniPath()
    {
        return File.Exists(this.path);

    }
}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ConfigTestDemo : MonoBehaviour
{
    ConfigIni ini;
    private string time = "";
    private string speed = "";

    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
    void Start()
    {
        Debug.Log("ConfigTestDemo Start");
        //获取ini文件
        ini = new ConfigIni("Assets/Config/info.ini");
        //获取Ini文件Time类型下的time对应的数值
        time = ini.ReadIniContent("Time", "time");
        speed = ini.ReadIniContent("Speed", "speed");

    }
    public void OnClick()
    {
      
        //写入Count类型count值对应的数值(如果存在了相同的key会覆盖原来key的内容)
        //ini.WriteIniContent("Count", "count", "5");
        ini.WriteIniContent("Time", "time", "666");

        Debug.Log(time);
        Debug.Log(speed);
    }
}

点击按钮就写入

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值