程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#對INI文件的讀寫

C#對INI文件的讀寫

編輯:C#入門知識

因為一直想開發一個軟件,為此而努力著!需要用到這方面小內容,   INI文件的結構 INI文件是一種按照特點方式排列的文本文件。每一個INI文件構成都非常類似,由若干段落(section)組成,在每個帶括號的標題下面,是若干個以單個單詞開頭的關鍵詞(keyword)和一個等號,等號右邊的就是關鍵字對應的值(value)。其一般形式如下:   [Section1] KeyWord1 = Valuel KeyWord2 = Value2 …… [Section2] KeyWord3 = Value3 KeyWord4 = Value4 2.C#和Win32 API函數C#並不像C++,擁有屬於自己的類庫。C#使用的類庫是.Net框架為所有.Net程序開發提供的一個共有的類庫——.Net FrameWork SDK。雖然.Net FrameWork SDK內容十分龐大,功能也非常強大,但還不能面面俱到,至少它並沒有提供直接操作INI文件所需要的相關的類。在本文中,C#操作INI文件使用的是Windows系統自帶Win32的API函數——WritePrivateProfileString()和GetPrivateProfileString()函數。 C#申明INI文件的寫操作函數WritePrivateProfileString():[ DllImport ( "kernel32" ) ] private static extern long WritePrivateProfileString ( string section , string key , string val , string filePath ) ; 參數說明:section:INI文件中的段落;key:INI文件中的關鍵字;val:INI文件中關鍵字的數值;filePath:INI文件的完整的路徑和名稱。C#申明INI文件的讀操作函數GetPrivateProfileString(): [ 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文件         private void button1_Click(object sender, System.EventArgs e)         {             try             {                 openFileDialog1.ShowDialog();                 textBox1.Text = openFileDialog1.FileName;             }             catch (Exception ex)             {                 MessageBox.Show(ex.Message);             }         }         //寫入INI文件         private void button2_Click(object sender, System.EventArgs e)         {             string FileName = textBox1.Text;             string section = textBox2.Text;             string key = textBox3.Text;             string keyValue = textBox4.Text;             try             {                 //寫入ini文件屬性                 WritePrivateProfileString(section, key, keyValue, FileName);                 MessageBox.Show(“成功寫入INI文件!”, ”信息”);             }             catch (Exception ex)             {                 MessageBox.Show(ex.Message);             }         }         //讀取指定INI文件的特定段落中的關鍵字的數值         private void button3_Click(object sender, System.EventArgs e)         {             StringBuilder temp = new StringBuilder(255);             string FileName = textBox1.Text;             string section = textBox2.Text;             string key = textBox3.Text;             //讀取ini文件屬性值—賦予當前屬性上temp             int i = GetPrivateProfileString(section, key, ”無法讀取對應數值!”, temp, 255, FileName);             //顯示讀取的數值             textBox4.Text = temp.ToString();         } 經典小demo:   ini文件一般用於保存當前運行的程序或者一些臨時的配置屬性的文件。也有時用於保存一定的數據以便於臨時或者配置上的需要。   文本格式如下:       [Section1 Name] ---------用 []括起來,其包含多個key KeyName1=value1 ------格式是 Key=value。 KeyName2=value2 ... [Section2 Name] KeyName1=value1 KeyName2=value2 C#操作時代碼如下: // 打開指定的ini文件         private void button1_Click(object sender, System.EventArgs e)         {             try             {                 openFileDialog1.ShowDialog();                 textBox1.Text = openFileDialog1.FileName;             }             catch (Exception ex)             {                 MessageBox.Show(ex.Message);             }         }         //寫入INI文件         private void button2_Click(object sender, System.EventArgs e)         {             string FileName = textBox1.Text;             string section = textBox2.Text;             string key = textBox3.Text;             string keyValue = textBox4.Text;             try             {                 //寫入ini文件屬性                 WritePrivateProfileString(section, key, keyValue, FileName);                 MessageBox.Show(“成功寫入INI文件!”, ”信息”);             }             catch (Exception ex)             {                 MessageBox.Show(ex.Message);             }         }         //讀取指定INI文件的特定段落中的關鍵字的數值         private void button3_Click(object sender, System.EventArgs e)         {             StringBuilder temp = new StringBuilder(255);             string FileName = textBox1.Text;             string section = textBox2.Text;             string key = textBox3.Text;             //讀取ini文件屬性值—賦予當前屬性上temp             int i = GetPrivateProfileString(section, key, ”無法讀取對應數值!”, temp, 255, FileName);             //顯示讀取的數值             textBox4.Text = temp.ToString();         }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved