自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#讀寫ini文件詳解

開發(fā) 后端
C#讀寫ini文件是如何進(jìn)行的呢?C#讀寫ini文件需要的方法有哪些呢?本文就向你一一介紹。

C#讀寫ini文件之前要了解的概念:INI就是擴(kuò)展名為"INI"的文件,其實(shí)他本身是個(gè)文本文件,可以用記事本打開,主要存放的是用戶所做的選擇或系統(tǒng)的各種參數(shù).

C#讀寫ini文件其實(shí)并不是普通的文本文件.它有自己的結(jié)構(gòu).由若干段落(SECTION)組成,在每個(gè)帶括號的標(biāo)題下面,是若干個(gè)以單個(gè)單詞開頭的關(guān)鍵字(KEYWORD)和一個(gè)等號,等號右邊就是關(guān)鍵字的值(VALUE).例如:

  1. [Section1]  
  2.     KeyWord1 = Value1  
  3.     KeyWord2 = Value2  
  4.     ...  
  5. [Section2]  
  6.     KeyWord3 = Value3  
  7.     KeyWord4 = Value4 

C#讀寫ini文件最初的想法:C#命名空間中沒有直接讀寫INI的類,當(dāng)然如果你把INT當(dāng)成文本文件用System.IO類來讀寫算我沒說.

我現(xiàn)在介紹的是系統(tǒng)處理INI的方法.

雖然C#中沒有,但是在"kernel32.dll"這個(gè)文件中有Win32的API函數(shù)--WritePrivateProfileString()和GetPrivateProfileString()

C#讀寫ini文件實(shí)現(xiàn)之C#聲明INI文件的寫操作函數(shù)WritePrivateProfileString():

  1. [DllImport( "kernel32" )]  
  2.   private static extern long WritePrivateProfileString (
  3.  string section ,string key , string val   
  4. string filePath ) ; 

參數(shù)說明:

section:INI文件中的段落;

key:INI文件中的關(guān)鍵字;

val:INI文件中關(guān)鍵字的數(shù)值;

filePath:INI文件的完整的路徑和名稱。

C#讀寫ini文件實(shí)現(xiàn)之C#申明INI文件的讀操作函數(shù)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 ) ; 

參數(shù)說明:

section:INI文件中的段落名稱;

key:INI文件中的關(guān)鍵字;

def:無法讀取時(shí)候時(shí)候的缺省數(shù)值;

retVal:讀取數(shù)值;

size:數(shù)值的大??;

filePath:INI文件的完整路徑和名稱。

下面是一個(gè)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.  /// 構(gòu)造方法  
  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"﹥項(xiàng)目名稱(如 [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"﹥項(xiàng)目名稱(如 [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.  /// 驗(yàn)證文件是否存在  
  43.  /// ﹤/summary﹥  
  44.  /// ﹤returns﹥布爾值﹤/returns﹥  
  45.  public bool ExistINIFile()  
  46.  {  
  47.   return File.Exists(inipath);  
  48.  }  

C#讀寫ini文件的相關(guān)內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#讀寫ini文件有所幫助。

【編輯推薦】

  1. C#讀文本文件的冰山一角
  2. C#讀取文本文件時(shí)字符編碼的處理
  3. C#讀取TXT文件的代碼實(shí)現(xiàn)
  4. C#讀取配置文件淺析
  5. C#讀取TXT文件圖解
責(zé)任編輯:仲衡 來源: 博客園
相關(guān)推薦

2024-04-25 12:59:31

2024-03-19 08:05:00

C# WinForm文件開發(fā)

2024-04-25 12:35:14

JSONC#開發(fā)

2025-01-09 07:58:42

C#API函數(shù)

2009-08-28 15:49:45

C#對INI文件操作

2009-08-12 14:13:51

C#讀寫Excel文件

2009-11-02 10:53:34

VB.NET INI文

2009-09-01 11:25:08

C#讀取Word文件

2009-08-13 09:58:55

C#讀取配置文件

2009-09-02 14:06:14

C#文件傳送

2009-08-18 17:05:08

C#操作xml文件

2009-08-28 14:34:47

C# Global.a

2009-04-03 10:25:32

C#XML擴(kuò)展代碼

2009-08-14 16:08:34

讀寫B(tài)inaryC#編程實(shí)例

2024-04-03 00:10:24

C#System數(shù)據(jù)

2010-07-16 09:06:57

Perl文件

2009-08-26 11:53:56

C#打印文本文件

2011-05-20 15:37:05

MemoryStrea

2009-08-20 10:53:23

C#操作內(nèi)存

2009-08-24 11:23:41

C# TimeLabe
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號