• C#操作ini(读取、写入)


    C#操作ini(读取、写入)

      INI文件是一种按照特点方式排列的文本文件,该文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应用程序和系统都把许多参数和初始化信息放进了注册表中。但在某些场合,INI文件还拥有其不可替代的地位。

    INI文件的结构

    INI文件是一种按照特点方式排列的文本文件。每一个INI文件构成都非常类似,由若干段落(section)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键词(keyword)和一个等号,等号右边的就是关键字对应的值(value)。其一般形式如下:

         [Section1]

      KeyWord1 = Valuel

      KeyWord2 = Value2

       ......

      [Section2]

      KeyWord3 = Value3

      KeyWord4 = Value4

     

     [DllImport("kernel32")]
            private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath);
    注:
      section:要读取的段落名
    key: 要读取的键
    defVal: 读取异常的情况下的缺省值
    retVal: key所对应的值,如果该key不存在则返回空值
    size: 值允许的大小
    filePath: INI文件的完整路径和文件名
     
            [DllImport("kernel32")]
            private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
    注:
      section: 要写入的段落名
    key: 要写入的键,如果该key存在则覆盖写入
    val: key所对应的值
    filePath: INI文件的完整路径和文件名
     
     /// <summary>    
            /// 读取INI文件    
            /// </summary>    
            /// <param name="section">项目名称(如 [section] )</param>    
            /// <param name="skey">键</param>   
            /// <param name="path">路径</param> 
            public string IniReadValue(string section, string skey, string path)
            {
                StringBuilder temp = new StringBuilder(500);
                int i = GetPrivateProfileString(section, skey, "", temp, 500, path);
                return temp.ToString();
            }
     
     
          /// <summary>
            /// 写入ini文件
            /// </summary>
            /// <param name="section">项目名称</param>
            /// <param name="key">键</param>
            /// <param name="value">值</param>
            /// <param name="path">路径</param>
            public void IniWrite(string section, string key, string value,string path)
            {
                WritePrivateProfileString(section, key, value, path);
       }
     
     
    测试:
    //创建一个test.ini文件 并在A段落写入 姓名(key)=wlj(value)
    IniWrite("A","姓名","wlj","f:/test.ini")
    IniWrite("B","姓名","WZQ","f:/test.ini")
    test.ini文件的格式:

    ini模版:

    [A]

    姓名=wlj

    [B]

    姓名=WZQ

    //读取test.ini文件中A 段落  键=姓名 的值

     IniReadValue("A","姓名","f:/test.ini")
    //读取test.ini文件中A 段落中所有值
    IniReadValue("A",null,"f:/test.ini")
     
    //删除test.ini文件中A 段落中所有键(没有键,也就没有值了)
    IniWrite("A",null,null,"f:/test.ini")
    //删除test.ini文件中所有段落
    IniWrite(null,null,null,"f:/test.ini")
     
  • 相关阅读:
    dolphin以root身份打开
    linux ACL权限
    PIT中断与外设时钟配置
    GPT定时器定时
    I.MX RT 时钟控制模块(CCM)
    OLED屏显示功能的实现
    RT1052 A/D数据采集
    滴答时钟与延时
    局域网 访问mac前端项目
    js 加减乘除取余运算
  • 原文地址:https://www.cnblogs.com/wang726zq/p/ini.html
Copyright © 2020-2023  润新知