C#对INI配置文件进行读写操作方法

cs 复制代码
        #region 读写ini配置文件

        /// <summary>
        /// 对INI文件进行读写
        /// </summary>
        
        class INIHelper
        {
            /// <summary>
            /// 从INI文件中读取数据
            /// </summary>
            /// <param name="filePath">INI文件的全路径</param>
            /// <param name="rootValue">根节点值,例如根节点[URLConfig]的值为:URLConfig</param>
            /// <param name="key">根节点下的键,例如url</param>
            /// <param name="defValue">当标记值未设定或不存在时的默认值</param>
            /// <returns></returns>
            public static string ReadFromINI(string filePath, string rootValue, string key, string defValue = "")
            {
                StringBuilder sb = new StringBuilder(1024);
                GetPrivateProfileString(rootValue, key, defValue, sb, 1024, filePath);
                return sb.ToString();
            }


            /// <summary>
            /// 对INI文件进行写入操作
            /// </summary>
            /// <param name="filePath">INI文件的全路径</param>
            /// <param name="rootValue">根节点值,例如根节点[URLConfig]的值为:URLConfig</param>
            /// <param name="key">根节点下的键,例如url</param>
            /// <param name="newVal">想要修改的内容</param>
            /// <returns></returns>
            public static void WriteToINI(string filePath, string rootValue, string key, string newVal)
            {

                WritePrivateProfileString(rootValue, key, newVal, filePath);

            }


            /// <summary>
            /// 对INI文件进行读取操作
            /// </summary>
            /// <param name="IpAppName">表示INI文件内部根节点的值</param>
            /// <param name="IpKeyName">表示根节点下子标记的值</param>
            /// <param name="IpDefault">表示当标记值未设定或不存在时的默认值</param>
            /// <param name="IpReturnString">返回读取节点的值</param>
            /// <param name="nSize">读取的节点内容的最大容量</param>
            /// <param name="IpFileName">文件的全路径</param>
            /// <returns></returns>
            [System.Runtime.InteropServices.DllImport("kernel32")]
            static extern int GetPrivateProfileString(string IpAppName, string IpKeyName, string IpDefault, StringBuilder IpReturnString, int nSize, string IpFileName);


            /// <summary>
            /// 对INI文件进行写入操作
            /// </summary>
            /// <param name="mpAppName">INI文件内部根节点的值</param>
            /// <param name="mpKeyName">将要修改的标记名称</param>
            /// <param name="mpDefault">想要修改的内容</param>
            /// <param name="mpFileName">INI文件的全路径</param>
            /// <returns></returns>
            [System.Runtime.InteropServices.DllImport("kernel32")]
            static extern long WritePrivateProfileString(string mpAppName, string mpKeyName, string mpDefault, string mpFileName);
        }

        #endregion

调用方法:

例如config.ini文件里面内容为:

URLConfig

url = www.csdn.net

url2= /baike/

url3= /map/

读配置文件:

cs 复制代码
string filePath = System.Environment.CurrentDirectory + @"/config.ini";  //设置config的绝对路径

string url = INIHelper.ReadFromINI(filePath, "URLConfig", "url").Replace(" ", "");

写配置文件:

cs 复制代码
 string filePath = System.Environment.CurrentDirectory + @"/config.ini";  //设置config的绝对路径
INIHelper.WriteToINI(filePath, "URLConfig", "Url", "www.eastcoms.com");
相关推荐
阿幸软件杂货间1 小时前
Office转PDF转换器v1.0.py
开发语言·pdf·c#
sali-tec1 小时前
C# 基于halcon的视觉工作流-章34-环状测量
开发语言·图像处理·算法·计算机视觉·c#
Tiger_shl2 小时前
【层面一】C#语言基础和核心语法-02(反射/委托/事件)
开发语言·c#
mudtools6 小时前
.NET驾驭Word之力:COM组件二次开发全攻略之连接Word与创建你的第一个自动化文档
后端·c#
王维志7 小时前
LiteDB详解
数据库·后端·mongodb·sqlite·c#·json·database
程序猿多布7 小时前
XLua教程之热补丁技术
unity·c#·lua·xlua
咕白m6258 小时前
C# Excel 读取入门教程:免费实现方法
c#·.net
相与还9 小时前
godot+c#使用godot-sqlite连接数据库
数据库·c#·godot
相与还11 小时前
godot+c#操作sqlite并加解密
sqlite·c#·godot·sqlcipher
疯狂的维修11 小时前
关于Gateway configration studio软件配置网关
网络协议·c#·自动化·gateway