使用C#操作INI文件

/*  * 虽然微软早已经建议在WINDOWS中用注册表代替INI文件,但是在实际应用中,INI文件仍然有用武之地,  * 尤其现在绿色软件的流行,越来越多的程序将自己的一些配置信息保存到了INI文件中。    * INI文件是文本文件,由若干节(section)组成,在每个带方括号的标题下面,  * 是若干个关键词(key)及其对应的值(Value)  * [Section]  * Key=Value    * VC中提供了API函数进行INI文件的读写操作,但是微软推出的C#编程语言中却没有相应的方法,  * 下面我介绍一个读写INI文件的C#类  * 因为我们需要调用API函数,所以必须引用System.Runtime.InteropServices命名空间  * 该命名空间可用于访问 .NET 中的 COM 对象和本机的 API 。  * 在该类中我们使用了KERNEL32.dll中提供的两个方法,用来操作ini文件。  * 这两个方法是:WritePrivateProfileString 和 GetPrivateProfileString。  */

using System; using System.Runtime.InteropServices; using System.Text;

namespace INI {     /// <summary>     /// Create a New INI file to store     /// or load data from a existing ini file     /// </summary>     public class IniFile     {         // the full path of the ini file         private string m_iniFileFullPath;

        /// <summary>         /// Constructor.         /// </summary>         /// <PARAM name="iniFilePath">the full path of the ini file</PARAM>         public IniFile(string iniFilePath)         {             m_iniFileFullPath = iniFilePath;         }

        /// <summary>         /// Write data to the ini file         /// </summary>         /// <PARAM name="iniSection">the value of iniSection</PARAM>         /// <PARAM name="iniKey">the value of iniKey</PARAM>         /// <PARAM name="iniValue">the value of iniValue</PARAM>         public void Write(string iniSection, string iniKey, string iniValue)         {             WritePrivateProfileString(iniSection, iniKey, iniValue, this.m_iniFileFullPath);         }

        /// <summary>         /// Read data value From the Ini File         /// </summary>         /// <PARAM name="iniSection"></PARAM>         /// <PARAM name="iniKey"></PARAM>         /// <returns>the iniValue of the specified iniSection & iniKey</returns>         public string Read(string iniSection, string iniKey)         {             StringBuilder resultValue = new StringBuilder(255);             int i = GetPrivateProfileString(iniSection, iniKey, "", resultValue,                                             255, this.m_iniFileFullPath);             return resultValue.ToString();         }

        [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);     } }

=================范例==================================

            IniFile fileExample = new IniFile(@"C:/aaa.ini");             fileExample.Write("sectionA", "keyA", "valueA");             string aaa = fileExample.Read("sectionA", "keyA");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值