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

C#_讀寫ini配置文件

編輯:C#入門知識

.NET Framework 類庫未提供讀寫ini文件的相應類,不過可以使用WinAPI來處理INI文件的讀寫,代碼很簡單。如下:

首先有兩個API函數需放在你的class中且只能如此放在method或(class外namespace內),都會出現編譯錯誤

  1 using System.Runtime.InteropServices; 2 [DllImport("kernel32")] 3 private static extern long WritePrivateProfileString(string section,string key,string val,string filePath); 4 [DllImport("kernel32")] 5 private static extern long GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);

 

WritePrivateProfileString方法說明:
 功能:將信息寫入ini文件

 返回值:long,如果為0則表示寫入失敗,反之成功。

 參數1(section):寫入ini文件的某個小節名稱(不區分大小寫)。

 參數2(key):上面section下某個項的鍵名(不區分大小寫)。

 參數3(val):上面key對應的value

 參數4(filePath):ini的文件名,包括其路徑(example: "c:config.ini")。如果沒有指定路徑,僅有文件名,系統會自動在windows目錄中查找是否有對應的ini文件,如果沒有則會自動在當前應用程序運行的根目錄下創建ini文件。

 

ini文件結構Example:

[JXCDB]    --小節名(section)

server=192.168.1.1    --server是JXCDB下的某個鍵,192.168.1.1是server鍵的值(下同)

name=sa

pwd=198910

dbName=JXC

 

GetPrivateProfileString方法使用說明:
功能:從ini文件中讀取相應信息
返回值:返回所取信息字符串的字節長度

  • 參數1(section):某個小節名(不區分大小寫),如果為空,則將在retVal內裝載這個ini文件的所有小節列表。
  • 參數2(key):欲獲取信息的某個鍵名(不區分大小寫),如果為空,則將在retVal內裝載指定小節下的所有鍵列表。
  • 參數3(def):當指定信息,未找到時,則返回def,可以為空。
  • 參數4(retVal):一個字串緩沖區,所要獲取的字符串將被保存在其中,其緩沖區大小至少為size。
  • 參數5(size):retVal的緩沖區大小(最大字符數量)。
  • 參數6(filePath):指定的ini文件路徑,如果沒有路徑,則在windows目錄下查找,如果還是沒有則在應用程序目錄下查找,再沒有,就只能返回def了。

詳細使用Example:

首先先創建一個ini文件,並保存信息

1 WritePrivateProfileString("JXCDB", "server", ".", Application.StartupPath + "\JXC_Server.ini"); 2 WritePrivateProfileString("JXCDB", "name", txtName.Text.Trim(), Application.StartupPath + "\JXC_Server.ini"); 3 WritePrivateProfileString("JXCDB", "pwd",txtPwd.Text.Trim(), Application.StartupPath + "\JXC_Server.ini"); 4 WritePrivateProfileString("

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