C#创建ini文件、读取值、修改值
发布时间:2020-12-15 17:51:54 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 int iBaudRate = InIHelper.ReadConfigint("COM_SETUP","波特率") InIHelper类: public class InIHelper { private static string FileName = Applic
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 int iBaudRate = InIHelper.ReadConfig<int>("COM_SETUP","波特率") InIHelper类: public class InIHelper { private static string FileName = Application.StartupPath + "AppConfig.ini"; /// <summary> /// 读取配置文件 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="section"></param> /// <param name="key"></param> /// <returns></returns> public static T ReadConfig<T>(string section,string key) { if (File.Exists(FileName)) { IniFile f = new IniFile(FileName); string value = f.ReadContentValue(section,key); if (String.IsNullOrWhiteSpace(value)) return default(T); if (typeof(T).IsEnum) return (T)Enum.Parse(typeof(T),value,true); return (T)Convert.ChangeType(value,typeof(T)); } else { return default(T); } } /// <summary> /// 写配置文件 /// </summary> /// <param name="section"></param> /// <param name="key"></param> /// <param name="value"></param> public static void WriteConfig(string section,string key,string value) { //如果文件不存在,则创建 if (!File.Exists(FileName)) { using (FileStream myFs = new FileStream(FileName,FileMode.Create)) { } } IniFile f = new IniFile(FileName); f.WriteContentValue(section,key,value); } } public class IniFile { public string Path; public IniFile(string path) { this.Path = path; } /// <summary> /// 写入INI文件 /// </summary> /// <param name="section">节点名称[如[TypeName]]</param> /// <param name="key">键</param> /// <param name="val">值</param> /// <param name="filepath">文件路径</param> /// <returns></returns> [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section,string val,string filepath); /// <summary> /// 读取INI文件 /// </summary> /// <param name="section">节点名称</param> /// <param name="key">键</param> /// <param name="def">值</param> /// <param name="retval">stringbulider对象</param> /// <param name="size">字节大小</param> /// <param name="filePath">文件路径</param> /// <returns></returns> [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section,string def,StringBuilder retval,int size,string filePath); /// <summary> /// 写入 /// </summary> /// <param name="section"></param> /// <param name="key"></param> /// <param name="iValue"></param> public void WriteContentValue(string section,string iValue) { WritePrivateProfileString(section,iValue,this.Path); } /// <summary> /// 读取INI文件中的内容方法 /// </summary> /// <param name="Section">键</param> /// <param name="key">值</param> /// <returns></returns> public string ReadContentValue(string Section,string key) { StringBuilder temp = new StringBuilder(1024); GetPrivateProfileString(Section,"",temp,1024,this.Path); return temp.ToString(); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |