• Unity 中System.Runtime.InteropServices读取配置文件


    首先得创建一个读取ini配置文件的基类,创建好一个后,后面项目需要都可以直接拿来用了
    创建基类得引用命名空间 System.Runtime.InteropServices
    下面为基类代码:

    public class MyIni
    {
      public string path;//ini文件的路径
      public MyIni(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);
    }
    }
    

    函数的使用,得先创建一个txt文本文件然后写入内容
    内容格式为大标题“[]”,对应大标题下的内容 “名字(相当于key值)=value(使用中文的话可能会有问题,需要转码,中文的话一般使用xml文档)”

    [Time] 
    time=10 
    [Speed] 
    speed=5 
    

    类似这样的写法,然后保存为ini文件,拖拽到项目中StreamingAssets位置,一般都是放在这个路径
    下面是函数的调用:

    public class IniDemo
    {
        MyIni ini;
    
        private int  time=0;
        private float speed=0;
        void Start()
        {
          //获取ini文件
          ini=new MyIni(Application.StreamingAssets+"/Setting.ini");
          //获取Ini文件Time类型下的time对应的数值
          time=ini.ReadIniContent("Time","time");
          speed=ini.ReadIniContent("Speed","speed");
          //写入Count类型count值对应的数值(如果存在了相同的key会覆盖原来key的内容)
          ini.WritePrivateProfileString("Count","count","5");
        }
    }
    

    基本上一个简单的ini配置文件的使用就OK了,当然你喜欢的话还可以对基类就行添加函数,添加对一整个大类型直接读取,这都是可以的,不过基本上也够用了。

  • 相关阅读:
    centos 部署.NET CORE
    nginx 负载均衡
    graylog centos7 部署
    springboot 2.x centos 7.0 部署
    HashMap源代码阅读理解
    服务器安装redis
    java ---- gradle
    uboot-makefile总览
    makeFile
    Spring 推断构造方法
  • 原文地址:https://www.cnblogs.com/AranNice/p/16382185.html
Copyright © 2020-2023  润新知