日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 读写ini配置文件demo

發布時間:2023/12/18 C# 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 读写ini配置文件demo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

INI就是擴展名為"INI"的文件,其實他本身是個文本文件,可以用記事本打工,主要存放的是用戶所做的選擇或系統的各種參數.
INI文件其實并不是普通的文本文件.它有自己的結構.由若干段落(SECTION)組成,在每個帶括號的標題下面,是若干個以單個單詞開頭的關鍵字(KEYWORD)和一個等號,等號右邊就是關鍵字的值(VALUE).例如:
[Section1]
????KeyWord1 = Value1
????KeyWord2 = Value2
????...
[Section2]
????KeyWord3 = Value3
????KeyWord4 = Value4

C#命名空間中沒有直接讀寫INI的類,當然如果你把INT當成文本文件用System.IO類來讀寫算我沒說.
我現在介紹的是系統處理INI的方法.
雖然C#中沒有,但是在"kernel32.dll"這個文件中有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文件的類:

public???class??INIClass
{
??public???string??inipath;
?[DllImport(?"?kernel32?"?)]
??private???static???extern???long??WritePrivateProfileString(?string??section,?string??key,?string??val,?string??filePath);
?[DllImport(?"?kernel32?"?)]
??private???static???extern???int??GetPrivateProfileString(?string??section,?string??key,?string??def,StringBuilder?retVal,?int??size,?string??filePath);
??///???<summary>
??///??構造方法
??///???</summary>
??///???<param?name="INIPath">?文件路徑?</param>
??public??INIClass(?string??INIPath)
?{
??inipath??=??INIPath;
?}
??///???<summary>
??///??寫入INI文件
??///???</summary>
??///???<param?name="Section">?項目名稱(如?[TypeName]?)?</param>
??///???<param?name="Key">?鍵?</param>
??///???<param?name="Value">?值?</param>
??public???void??IniWriteValue(?string??Section,?string??Key,?string??Value)
?{
??WritePrivateProfileString(Section,Key,Value,?this?.inipath);
?}
??///???<summary>
??///??讀出INI文件
??///???</summary>
??///???<param?name="Section">?項目名稱(如?[TypeName]?)?</param>
??///???<param?name="Key">?鍵?</param>
??public???string??IniReadValue(?string??Section,?string??Key)
?{
??StringBuilder?temp??=???new??StringBuilder(?500?);
???int??i??=??GetPrivateProfileString(Section,Key,?""?,temp,?500?,?this?.inipath);
???return??temp.ToString();
?}
??///???<summary>
??///??驗證文件是否存在
??///???</summary>
??///???<returns>?布爾值?</returns>
??public???bool??ExistINIFile()
?{
???return??File.Exists(inipath);
?}
}

?

C# 讀寫ini配置文件
1、新建類,引入命名空間 using System.Runtime.InteropServices;
2、聲明API函數:

[DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32") private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

3、實現:寫

/// <summary> /// 寫入INI文件 /// </summary> /// <param name="field">項目名稱(如 [TypeName] )</param> /// <param name="Key">鍵</param> /// <param name="Value">值</param> public void GetValueOfKey(string field, string Key, string Value) {WritePrivateProfileString(field, Key, Value, iniFilePath); }

4、實現:讀

/// <summary> /// 讀出INI文件 /// </summary> /// <param name="field">項目名稱(如 [TypeName] )</param> /// <param name="Key">鍵</param> public string IniReadValue(string field, string Key) {StringBuilder temp = new StringBuilder(500);int i = GetPrivateProfileString(field, Key, "", temp, 500, this.inipath);return temp.ToString(); }

總結

以上是生活随笔為你收集整理的C# 读写ini配置文件demo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。