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文件的全路徑、段落名稱和關鍵字名稱。

相關文章
相關標籤/搜索