介绍
此ini解析库适用于mono(unity3d),donet,大小在30kb左右。
开源免费:https://github.com/rickyah/ini-parser
使用示例
[Engine] : product real path ProductRelPath = ../Product AssetBundleBuildRelPath = ../Product/Bundles StreamingBundlesFolderName = Bundles AssetBundleExt = .bytes IsLoadAssetBundle = 1
使用方法如下
using System;
IniParser.Model;
IniParser.Model.Formatting;
IniParser.Parser;
public class EngineConfigs
{
private readonly IniData _iniData;
public EngineConfigs(string iniconfig)
{
var parser = new IniDataParser();
_iniData = parser.Parse(iniconfig);
}
/// <summary>
/// GetConfig from section
</summary>
<param name="section"></param>
<param name="key"></param>
<param name="throwError">whether or not throw error when get no config</param>
<returns></returns>
string GetConfig(string section,string key,1)">bool throwError = true)
{
var sectionData = _iniData[section];
if (sectionData == null)
{
if (throwError)
throw new Exception("Not found section from ini config: " + section);
return ;
}
var value = sectionData[key];
if (value == new Exception(string.Format(Not found section:`{0}`,key:`{1}` config",section,key));
}
return value;
}
}
IniParseDemo
{
void Main()
{
EngineConfigs engineConfigs = new EngineConfigs(xxx);
//此处返回 ../Product
var productRelPath = engineConfigs.GetConfig(Engine",ProductRelPath);
}
}
注意事项
IniDataParser.Parse(iniconfig);
其它
示例:https://github.com/zhaoqingqing/blog_samplecode/tree/master/unity_helper/iniparser
或者参照 KEngine中的AppEngine使用:https://github.com/mr-kelly/KEngine/blob/3351991a9eb7593a53a6070eddff5dd912fc6d7a/KEngine.UnityProject/Assets/KEngine/AppEngine.cs