INI文件读写

来源:互联网 发布:agularjs 数据校验 编辑:程序博客网 时间:2024/04/29 22:50

废话不多说 直接切入主题上代码

using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;namespace DemoFiles{    /// <summary>    /// INI文件读写类。    /// </summary>    public class INIFile    {        /**        [xxx]        a=a        ;这里是a的注释        **/        public string path;        public INIFile(string INIPath)        {            //IniPath路径必须为绝对路径,不然有可能读取/保存,不出值。            path = 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);        [DllImport("kernel32")]        private static extern int GetPrivateProfileString(string section, string key, string defVal, Byte[] retVal, int size, string filePath);        /// <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, this.path);        }        /// <summary>        /// 读取INI文件        /// </summary>        /// <param name="Section">项目名称</param>        /// <param name="Key"></param>        /// <returns></returns>        public string IniReadValue(string Section, string Key)        {            StringBuilder temp = new StringBuilder(255);            int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.path);            return temp.ToString();        }        public byte[] IniReadValues(string section, string key)        {            byte[] temp = new byte[255];            int i = GetPrivateProfileString(section, key, "", temp, 255, this.path);            return temp;        }        /// <summary>        /// 删除ini文件下所有段落        /// </summary>        public void ClearAllSection()        {            IniWriteValue(null, null, null);        }        /// <summary>        /// 删除ini文件下personal段落下的所有键        /// </summary>        /// <param name="Section"></param>        public void ClearSection(string Section)        {            IniWriteValue(Section, null, null);        }    }}
0 0