.net下ini文件的读写删除的类

用API对INI文件进行读写,这是一个完整的类
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
/* INI文件是文本文件,由若干节(section)组成,在每个带方括号的标题下面,
* 是若干个关键词(key)及其对应的值(Value)
 * [Section]
 * Key=Value
*/
namespace ini
{
    public class iniFies
    {
        [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);
        #region 字段与属性
        private string _iniFileFullPath;
        public string ls_iniFileFullPath
        {
            set { _iniFileFullPath = value; }
            get { return _iniFileFullPath; }
        }
        #endregion
        ///
        /// 写入数据到INI文件中
        /// ini节点名称
        /// iniKEY名称
        /// 写入的值
        ///

        public void Write(string iniSection, string iniKey, string iniValue)
        {
            WritePrivateProfileString(iniSection, iniKey, iniValue, this.ls_iniFileFullPath);
        }
        ///
        ///从ini文件中读取数据
        /// ini节点名称
        /// iniKEY名称
        /// 指定ini节点或iniKEY的值
        ///

        public string Read(string iniSection, string iniKey)
        {
            StringBuilder resultValue = new StringBuilder(255);
            int i = GetPrivateProfileString(iniSection, iniKey, "", resultValue, 255, this.ls_iniFileFullPath);
            return resultValue.ToString();
        }
        ///
        /// 删除指定节点
        ///

        /// 要删除的节点名
        /// 删除成功或节点不存在,返回值都为真
        public bool DeleteSection(string section)
        {
            bool flag = false;//标志
            try
            {
                if (section.Trim().Length <= 0)
                {//找不到节点
                    flag = false;
                }
                else
                {
                    if (WritePrivateProfileString(section, null, null, this.ls_iniFileFullPath ) == 0)
                    {
                        flag = false;
                    }
                    else
                    {
                        flag = true;
                    }
                }
            }
            catch
            {
                flag = false;
            }
            return flag;
        }
        ///
        /// 删除指定节点下的KEY值
        ///

        /// 指定节点
        /// 指定节点下的key
        /// 删除成功或不存在时都返回true
        public bool DeleteKey(string section, string key)
        {
            bool flag = false;
            try
            {
                if (section.Trim().Length <= 0 || key.Trim().Length <= 0)
                {
                    flag = false;
                }
                else
                {
                    if (WritePrivateProfileString(section, key, null, this.ls_iniFileFullPath ) == 0)
                    {
                        flag = false;
                    }
                    else
                    {
                        flag = true;
                    }
                }
            }
            catch
            {
                flag = false;
            }
            return flag;
        }
    }
}
操作实例:
  private void button1_Click(object sender, EventArgs e)
        {
            string t = "";
            iniFies ini = new iniFies();
            ini.ls_iniFileFullPath = Application.StartupPath + "\\config\\Monitor.ini";
            t = ini.Read("Monitor", "TermNo");//读出指定节点
            MessageBox.Show(t);//显示
            //ini.Write("Monitor", "TermNo", "ttttttttttt");//更改某一节点
        }
请使用浏览器的分享功能分享到微信等