您的位置:首页 > 编程语言 > C#

C#2005 一个简单的访问ini文件类

2008-04-11 15:23 387 查看
//////////////////////////////////////////////////////////////
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;

namespace FileControl
{
/// <summary>
/// IniFile 的摘要说明。
/// </summary>
public class IniFile
{
private string configFileName;

[DllImport("kernel32")]
private static extern int GetPrivateProfileInt(
string lpAppName,
string lpKeyName,
int nDefault,
string lpFileName
);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(
string lpAppName,
string lpKeyName,
string lpDefault,
StringBuilder lpReturnedString,
int nSize,
string lpFileName
);
[DllImport("kernel32")]
private static extern bool WritePrivateProfileString(
string lpAppName,
string lpKeyName,
string lpString,
string lpFileName
);

/// <summary>
/// 设定配置文件名称
/// </summary>
/// <param name="fileName">配置文件名称</param>
public IniFile(string fileName)
{
configFileName = fileName;
}

/// <summary>
/// 从ini文件读取4字节整型值
/// </summary>
/// <param name="section">节名</param>
/// <param name="key">键名</param>
/// <param name="def">默认值</param>
/// <returns>成功返回找到的条目的值;如指定的条目未找到,就返回默认值。</returns>
public int ReadInt(string section,string key,int def)
{
return GetPrivateProfileInt(section,key,def,configFileName);
}

/// <summary>
/// 从ini文件读取字符串值
/// </summary>
/// <param name="section">节名</param>
/// <param name="key">键名</param>
/// <param name="def">默认值</param>
/// <returns>成功返回读取到的字符串;如指定的条目未找到,就返回默认值。</returns>
public string ReadString(string section,string key,string def)
{
StringBuilder temp = new StringBuilder(1024);
int stringLength;
stringLength = GetPrivateProfileString(section,key,def,temp,1024,configFileName);
if (stringLength > 0)
{
return temp.ToString();
}
else
{
return def;
}
}

/// <summary>
/// 向ini文件写入4字节整型值
/// </summary>
/// <param name="section">节名</param>
/// <param name="key">键名</param>
/// <param name="def">默认值</param>
/// <returns>写入成功返回True,失败返回False。</returns>
public bool WriteInt(string section,string key,int iVal)
{
return WritePrivateProfileString(section,key,iVal.ToString(),configFileName);
}

/// <summary>
/// 向ini文件写入字符串值
/// </summary>
/// <param name="section">节名</param>
/// <param name="key">键名</param>
/// <param name="def">默认值</param>
/// <returns>写入成功返回True,失败返回False。</returns>
public bool WriteString(string section,string key,string strVal)
{
return WritePrivateProfileString(section,key,strVal,configFileName);
}

/// <summary>
/// 从ini文件删除键
/// </summary>
/// <param name="section">节名</param>
/// <param name="key">键名</param>
/// <returns>删除成功返回True,失败返回False。</returns>
public bool DelKey(string section,string key)
{
return WritePrivateProfileString(section,key,null,configFileName);
}

/// <summary>
/// 从ini文件删除节
/// </summary>
/// <param name="section">节名</param>
/// <returns>删除成功返回True,失败返回False。</returns>
public bool DelSection(string section)
{
return WritePrivateProfileString(section,null,null,configFileName);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: