介绍

此ini解析库适用于mono(unity3d),donet,大小在30kb左右。

开源免费:https://github.com/rickyah/ini-parser

使用示例

engine_config.ini  配置文件内容如下

[Engine]
: product real path
ProductRelPath = ../Product
AssetBundleBuildRelPath = ../Product/Bundles
StreamingBundlesFolderName = Bundles
AssetBundleExt = .bytes
IsLoadAssetBundle = 1

使用方法如下

using System;
using IniParser.Model;
using IniParser.Model.Formatting;
using 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>
public string GetConfig(string section, string key, bool throwError = true)
{
var sectionData = _iniData[section];
if (sectionData == null)
{
if (throwError)
throw new Exception("Not found section from ini config: " + section);
return null;
}
var value = sectionData[key];
if (value == null)
{
if (throwError)
throw new Exception(string.Format("Not found section:`{0}`, key:`{1}` config", section, key));
}
return value;
}
} public class IniParseDemo
{
public void Main()
{
EngineConfigs engineConfigs = new EngineConfigs("xxx");
//此处返回 ../Product
var productRelPath = engineConfigs.GetConfig("Engine", "ProductRelPath");
}
}

注意事项

IniDataParser.Parse(iniconfig);

iniconfig是具体的内容,而不是某个ini文件

其它

示例: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

ini (ini-parser)配置文件解析 for donet的更多相关文章

  1. Python学习笔记:configparser(INI格式配置文件解析)

    在平时的开发中感觉INI格式的配置文件使用还是挺需要的,有时会使用一个单独的py来存放一些常量或者配置项,大多时候这样倒是挺好用的,但是如果某些配置项需要在运行时由用户来修改指定,比如很多app在关闭 ...

  2. python ConfigParser模块 配置文件解析

    ConfigParser模块主要是用来解析配置文件的模块,像mysql,或者win下面的ini文件等等 下面我们来解析mysql的配置文件my.cnf my.cnf配置文件内容 [mysqld] da ...

  3. golang开发:类库篇(四)配置文件解析器goconfig的使用

    为什么要使用goconfig解析配置文件 目前各语言框架对配置文件书写基本都差不多,基本都是首先配置一些基础变量,基本变量里面有环境的配置,然后通过环境变量去获取该环境下的变量.例如,生产环境跟测试环 ...

  4. python接口自动化测试 - configparser配置文件解析器详细使用

    configparser简介 ConfigParser模块已在Python 3中重命名为configparser 该模块定义了ConfigParser类. ConfigParser类实现一种基本的配置 ...

  5. Python3-configparser模块-配置文件解析器

    Python3中的configparser模块主要用于处理类似于windows ini 文件结构的配置文件 1.configparser模块提供实现基本配置语言的ConfigParser类 2.配置文 ...

  6. golang常用库:配置文件解析库-viper使用

    一.viper简介 viper 配置解析库,是由大神 Steve Francia 开发,他在google领导着 golang 的产品开发,他也是 gohugo.io 的创始人之一,命令行解析库 cob ...

  7. MyBatis 源码分析 - 配置文件解析过程

    * 本文速览 由于本篇文章篇幅比较大,所以这里拿出一节对本文进行快速概括.本篇文章对 MyBatis 配置文件中常用配置的解析过程进行了较为详细的介绍和分析,包括但不限于settings,typeAl ...

  8. ibatis源码学习2_初始化和配置文件解析

    问题在详细介绍ibatis初始化过程之前,让我们先来思考几个问题. 1. ibatis初始化的目标是什么?上文中提到过,ibatis初始化的核心目标是构造SqlMapClientImpl对象,主要是其 ...

  9. mybatis源码配置文件解析之五:解析mappers标签(解析XML映射文件)

    在上篇文章中分析了mybatis解析<mappers>标签,<mybatis源码配置文件解析之五:解析mappers标签>重点分析了如何解析<mappers>标签中 ...

随机推荐

  1. 使用ZeroBrane Studio调试Openresty lua脚本

    介绍 ZeroBraneStudio 作为轻量级.跨平台的Lua IDE,已被广泛用来调试各种Lua引擎游戏框架.Openresty.Wireshark脚本等等. Openresty 是一个建立在Ng ...

  2. Perl流程控制语句

    布尔值判断 如果是数字,0表示假,其它所有数字都是真. 如果是字符串,空字符串('')为假,其它所有字符串为真(有例外,见下一条). 如果是字符串'0',perl是当作数值0来处理的,所以这是唯一的非 ...

  3. [转]PHP时区/MySql时区/Linux时区

    本文转自:https://blog.csdn.net/watermelonmk/article/details/82669062 问题背景:手头上有个国外的项目,为了所谓的国际化,得将时区修改至[美国 ...

  4. 第一册:lesson eighty nine.

    原文: For sale. A:Good afternoon. I believe that the house is for sale. B:That's right. A:May I have a ...

  5. C#工具类:使用SharpZipLib进行压缩、解压文件

    SharpZipLib是一个开源的C#压缩解压库,应用非常广泛.就像用ADO.NET操作数据库要打开连接.执行命令.关闭连接等多个步骤一样,用SharpZipLib进行压缩和解压也需要多个步骤.Sha ...

  6. C-Linux_毫秒级随机值获取

    秒级随机值-常用方法: #include <stdlib.h> #include <stdio.h> #include <stdio.h> #include < ...

  7. springMVC_01认识springMVC

    一.   MVC作用 将url映射到java类或者java类的方法 封装用户提交的数据 处理请求,调用相关业务处理,封装响应的数据 将响应数据进行渲染 一.   SpringMVC 是一个轻量级的,基 ...

  8. 【Spring】DispatcherServlet的启动和初始化

    使用过SpringMVC的都知道DispatcherServlet,下面介绍下该Servlet的启动与初始化.作为Servlet,DispatcherServlet的启动与Serlvet的启动过程是相 ...

  9. Java高并发--消息队列

    Java高并发--消息队列 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 举个例子:在购物商城下单后,希望购买者能收到短信或者邮件通知.有一种做法时在下单逻辑执行后调 ...

  10. Java中的方法重载与方法重写

    重载(overload) 重载是在一个类中,同名方法拥有不同的参数列表则视为重载.不同的参数列表包括:参数数量不同,参数类型不同,参数顺序不同.重载对于返回类型没有要求,所以不能通过返回类型去判断是否 ...