使用 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
{
_ ///
1<summary> _
2
3_ /// Create a New INI file to store or load data _
4
5_ /// </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);
_ ///
1<summary> _
2
3_ /// INIFile Constructor. _
4
5_ /// </summary>
_
_ ///
1<param name="INIPath"/>
_
public IniFile( string INIPath)
{
path = INIPath;
}
_ ///
1<summary> _
2
3_ /// Write Data to the INI File _
4
5_ /// </summary>
_
_ ///
1<param name="Section"/>
_
_ /// Section name _
_ ///
1<param name="Key"/>
_
_ /// Key Name _
_ ///
1<param name="Value"/>
_
_ /// Value Name _
public void IniWriteValue( string Section, string Key, string Value)
{
WritePrivateProfileString(Section,Key,Value, this .path);
}
_ ///
1<summary> _
2
3_ /// Read Data Value From the Ini File _
4
5_ /// </summary>
_
_ ///
1<param name="Section"/>
_
_ ///
1<param name="Key"/>
_
_ ///
1<param name="Path"/>
_
_ ///
1<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 函数封装到你的类中。