using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;
namespace Helper
{
public class iniHelper
{
private 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 iniHelper(string Path)
{
inipath = Path;
}
/// <summary>
/// 写入INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
/// <param name="Value">值</param>
public void WriteValue(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 ReadValue(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 IsFileExist
{
get
{
return File.Exists(inipath);
}
}
/// <summary>
/// 静态方法,读取指定文件中值
/// </summary>
/// <param name="path"></param>
/// <param name="Section"></param>
/// <param name="Key"></param>
/// <returns></returns>
public static String ReadValue(String path,string Section, string Key)
{
if (!File.Exists(path))
{
return "";
}
StringBuilder temp = new StringBuilder(500);
int i = GetPrivateProfileString(Section, Key, "", temp, 500, path);
return temp.ToString();
}
public static iniHelper Configer
{
get { return new iniHelper(Directory.GetCurrentDirectory() + @"\Config.ini"); }
}
}
}
一个用于Ini文件操作的辅助类
最新推荐文章于 2020-12-15 16:56:38 发布