使用C#操作ini文件
原作:BLaZiNiX 翻译: dragontt
这个类,封装了Kernal32.dll 中提供的方法来操作ini文件。
简介:
这里创建了一个类,封装了KERNEL32.dll中提供的两个方法,用来操作ini文件。这两个方法是:WritePrivateProfileString
和 GetPrivateProfileString
。
需要引用的命名空间为:System.Runtime.InteropServices
和 System.Text
类源文件
using System; using System.Runtime.InteropServices; using System.Text; namespace Ini { /// <summary> /// Create a New INI file to store or load data /// </summary> public class IniFile { public string path; [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> /// INIFile Constructor. /// </summary> /// <PARAM name="INIPath"></PARAM> public IniFile(string INIPath) { path = INIPath; } /// <summary> /// Write Data to the INI File /// </summary> /// <PARAM name="Section"></PARAM> /// Section name /// <PARAM name="Key"></PARAM> /// Key Name /// <PARAM name="Value"></PARAM> /// Value Name public void IniWriteValue(string Section,string Key,string Value) { WritePrivateProfileString(Section,Key,Value,this.path); } /// <summary> /// Read Data Value From the Ini File /// </summary> /// <PARAM name="Section"></PARAM> /// <PARAM name="Key"></PARAM> /// <PARAM name="Path"></PARAM> /// <returns></returns> public string IniReadValue(string Section,string Key) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(Section,Key,"",temp, 255, this.path); return temp.ToString(); } } } |
使用这个类
按照下列步骤使用:
1. 在你的项目中加入命名空间的引用
using INI;
2. 创建一个如下的INIFile对象
INIFile ini = new INIFile("C:\\test.ini");
3. 使用IniWriteValue
方法在指定的配置节给一个键付值,或者使用IniReadValue
方法在指定的一个配置节中读取某个键的值。
如上所述,在C#中非常容易将API函数封装到你的类中。
本文地址:http://com.8s8s.com/it/it45694.htm