C#中读写INI文件

INI文件就是扩展名为“ini”的文件。在Windows系统中,INI文件是不少,最重要的就是“System.ini”、“System32.ini”和“Win.ini”。该文件主要存放用户所作的选择以及系统的各类参数。用户能够经过修改INI文件,来改变应用程序和系统的不少配置。但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是由于注册表的独特优势,使应用程序和系统都把许多参数和初始化信息放进了注册表中。但在某些场合,INI文件还拥有其不可替代的地位。本文就来探讨一下C#是如何对INI进行读写操做。函数

INI文件的结构ui

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

[Section1]it

  KeyWord1 = Valuelio

  KeyWord2 = Value2扩展

   ……配置

  [Section2]file

  KeyWord3 = Value3命名空间

  KeyWord4 = Value4程序

C#操做INI文件使用的是Windows系统自带Win32的API函数WritePrivateProfileString()和GetPrivateProfileString()函数。这二个函数都位于“kernel32.dll”文件中。

C#利用命名空间“System.Runtime.InteropServices”中的“DllImport”特征类申明上面二个Win32的API函数:

[DllImport("kernel32")]

private static extern long WritePrivateProfileString(string section,string key,string val, string filePath);

参数说明:section:INI文件中的段落;key:INI文件中的关键字;

val:INI文件中关键字的数值;filePath:INI文件的完整的路径和名称。

[DllImport("kernel32")]

private static extern int GetPrivateProfileString(string section,string key, string def, StringBuilder retVal , int size , string filePath);

参数说明:section:INI文件中的段落名称;key:INI文件中的关键字;

def:没法读取时候时候的缺省数值;retVal:读取值;size:值的大小;

filePath:INI文件的完整路径和名称。

对INI文件进行写操做,若是此时在INI文件中存在和要写入的信息相同的段落名称和关键字,将覆盖此INI信息。

正确读取INI的必须知足三个前提:INI文件的全路径、段落名称和关键字名称。

相关文章
相关标签/搜索