【个人使用.Net类库】(1)INI配置文件操作类

王朝学院·作者佚名  2016-05-17
窄屏简体版  字體: 小  |  中  |  大  |  超大  

【个人使用.Net类库】(1)INI配置文件操作类开发接口程序时,对于接口程序配置的ip地址、端口等都需要是可配置的,而在Win Api原生实现了INI文件的读写操作,因此只需要调用Win Api中的方法即可操作INI配置文件,关键代码就是如何调用Win Api中的方法,如下所示:

#region 调用WinApi 原方法声明 [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); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string defVal, Byte[] retVal, int size, string filePath);#endregion

具体代码如下所示(删除段落内容是参考苏飞论坛苏飞大神的):

using System;using System.Text;using System.Runtime.InteropServices;namespace DotNetCommon.File{ /// <summary> /// 类说明:INI文件读写类 /// 编码人:鞠小军 /// 联系方式:binghuojxj@QQ.com /// </summary> public class IniFileHelper { /// <summary> /// INI文件路径 /// </summary> public string Path; /// <summary> /// 屏蔽空的构造函数 /// </summary> public IniFileHelper() { throw new Exception("不允许使用空的构造函数!"); } /// <summary> /// 构造函数,参数为INI文件路径 /// </summary> /// <param name="path">INI文件的路径</param> public IniFileHelper(string path) { Path = path; } #region 调用WinApi 原方法声明 [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); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string defVal, Byte[] retVal, int size, string filePath); #endregion /// <summary> /// 读取INI文件 /// </summary> /// <param name="section">段落</param> /// <param name="key">键</param> /// <returns></returns> public string IniReadValue(string section, string key) { var temp = new StringBuilder(255); var i = GetPrivateProfileString(section, key, "", temp, 255, Path); return temp.ToString(); } /// <summary> /// 写入INI文件 /// </summary> /// <param name="section">段落</param> /// <param name="key">键</param> /// <param name="value">值</param> public void IniWriteValue(string section, string key, string value) { WritePrivateProfileString(section, key, value, Path); } /// <summary> /// 清楚INI文件中所有的段落 /// </summary> public void ClearAllSection() { IniWriteValue(null, null, null); } /// <summary> /// 清楚INI文件中指定段落内容 /// </summary> /// <param name="section">段落</param> public void ClearSection(string section) { IniWriteValue(section, null, null); } }}

View Code

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航