C#读写ini文件详解(1)

C#读写ini文件是如何进行的呢?C#读写ini文件需要的方法有哪些呢?本文就向你一一介绍。

  • C#读写ini文件之前要了解的概念:INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打开,主要存放的是用户所做的选择或系统的各种参数.
    C#读写ini文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键字(KEYWORD)和一个等号,等号右边就是关键字的值(VALUE).例如:
        
        
    1. [Section1]
    2.      KeyWord1 = Value1
    3.      KeyWord2 = Value2
    4.      ...
    5. [Section2]
    6.      KeyWord3 = Value3
    7.      KeyWord4 = Value4
    C#读写ini文件最初的想法:C#命名空间中没有直接读写INI的类,当然如果你把INT当成文本文件用System.IO类来读写算我没说.
    我现在介绍的是系统处理INI的方法.
    虽然C#中没有,但是在"kernel32.dll"这个文件中有Win32的API函数--WritePrivateProfileString()和GetPrivateProfileString()
    C#读写ini文件实现之C#声明INI文件的写操作函数WritePrivateProfileString():
        
        
    1. [DllImport( "kernel32" )]
    2.   private static extern long WritePrivateProfileString (
    3. string section ,string key , string val
    4. , string filePath ) ;
    参数说明:
    section:INI文件中的段落;
    key:INI文件中的关键字;
    val:INI文件中关键字的数值;
    filePath:INI文件的完整的路径和名称。
    C#读写ini文件实现之C#申明INI文件的读操作函数GetPrivateProfileString():
        
        
    1. [DllImport("kernel32")]
    2. private static extern int GetPrivateProfileString (
    3. string section ,
    4.   string key , string def , StringBuilder retVal ,
    5.   int size , string filePath ) ;
    参数说明:
    section:INI文件中的段落名称;
    key:INI文件中的关键字;
    def:无法读取时候时候的缺省数值;
    retVal:读取数值;
    size:数值的大小;
    filePath:INI文件的完整路径和名称。
    下面是一个C#读写ini文件的类:
        
        
    1. public class INIClass
    2. {
    3. public string inipath;
    4. [DllImport("kernel32")]
    5. private static extern long WritePrivateProfileString(
    6. string section,string key,string val,string filePath);
    7. [DllImport("kernel32")]
    8. private static extern int GetPrivateProfileString(
    9. string section,string key,
    10. string def,StringBuilder retVal,
    11. int size,string filePath);
    12. /// ﹤summary﹥
    13. /// 构造方法
    14. /// ﹤/summary﹥
    15. /// ﹤param name="INIPath"﹥文件路径﹤/param﹥
    16. public INIClass(string INIPath)
    17. {
    18.    inipath = INIPath;
    19. }
    20. /// ﹤summary﹥
    21. /// 写入INI文件
    22. /// ﹤/summary﹥
    23. /// ﹤param name="Section"﹥项目名称(如 [TypeName] )﹤/param﹥
    24. /// ﹤param name="Key"﹥键﹤/param﹥
    25. /// ﹤param name="Value"﹥值﹤/param﹥
    26. public void IniWriteValue(string Section,string Key,string Value)
    27. {
    28.    WritePrivateProfileString(Section,Key,Value,this.inipath);
    29. }
    30. /// ﹤summary﹥
    31. /// 读出INI文件
    32. /// ﹤/summary﹥
    33. /// ﹤param name="Section"﹥项目名称(如 [TypeName] )﹤/param﹥
    34. /// ﹤param name="Key"﹥键﹤/param﹥
    35. public string IniReadValue(string Section,string Key)
    36. {
    37.    StringBuilder temp = new StringBuilder(500);
    38.   int i = GetPrivateProfileString(Section,Key,"",temp,500,this.inipath);
    39.   return temp.ToString();
    40. }
    41. /// ﹤summary﹥
    42. /// 验证文件是否存在
    43. /// ﹤/summary﹥
    44. /// ﹤returns﹥布尔值﹤/returns﹥
    45. public bool ExistINIFile()
    46. {
    47.   return File.Exists(inipath);
    48. }
    49. }
    C#读写ini文件的相关内容就向你介绍到这里,希望对你了解和学习C#读写ini文件有所帮助。
    =================
    C#读写INI文件 



            虽然微软早已经建议在 WINDOWS 中用注册表代替 INI 文件,但是在实际应用中, INI 文件仍然有用武之地,尤其现在绿色软件的流行,越来越多的程序将自己的一些配置信息保存到了 INI 文件中。
           INI 文件是文本文件 , 由若干节 (section) 组成 , 在每个带括号的标题下面 , 是若干个关键词 (key) 及其对应的值 (Value)
       [Section]
       Key=Value
          

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值