c# Config配置文件读写
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Configuration; 6 using System.Text.RegularExpressions; 7 8 namespace PrintLableCode 9 { 10 /// <summary> 11 /// 配置文件读写类 12 /// </summary> 13 public static class ConfigHelper 14 { 15 /// <summary> 16 /// 根据连接串名称connectionName返回连接字符串 17 /// </summary> 18 /// <param name="connectionName"></param> 19 /// <returns>connectionString</returns> 20 public static string GetConnectionStringsConfig(string connectionName) 21 { 22 //指定config文件读取 23 string file = System.Windows.Forms.Application.ExecutablePath; 24 Configuration config = ConfigurationManager.OpenExeConfiguration(file); 25 string connectionString = 26 config.ConnectionStrings.ConnectionStrings[connectionName].ConnectionString.ToString(); 27 return connectionString; 28 } 29 /// <summary> 30 /// 更新连接字符串 31 /// </summary> 32 /// <param name="newName">连接字符串名称</param> 33 /// <param name="newConString">连接字符串内容</param> 34 /// <param name="newProviderName">数据提供程序名称</param> 35 public static void UpdateConnectionStringsConfig(string newName, string newConString,string newProviderName) 36 { 37 string file = System.Windows.Forms.Application.ExecutablePath; 38 Configuration config = ConfigurationManager.OpenExeConfiguration(file); 39 40 bool exist = false;//记录是否存在该连接串 41 if(config.ConnectionStrings.ConnectionStrings[newName] != null) 42 { 43 exist = true; 44 } 45 //如果存在需要更改的连接串,先删除 46 if (exist) 47 { 48 config.ConnectionStrings.ConnectionStrings.Remove(newName); 49 } 50 //新建一个连接字符串实例 51 ConnectionStringSettings mySettings = 52 new ConnectionStringSettings(newName,newConString,newProviderName); 53 //将新的连接串添加到配置文件中 54 config.ConnectionStrings.ConnectionStrings.Add(mySettings); 55 //保存对配置文件的更改 56 config.Save(ConfigurationSaveMode.Modified); 57 //强制重新载入配置文件的ConnectionStrings配置节 58 ConfigurationManager.RefreshSection("ConnectionStrings"); 59 } 60 /// <summary> 61 /// 返回*.exe.config文件中appSettings配置节的value项 62 /// </summary> 63 /// <param name="strKey"></param> 64 /// <returns></returns> 65 public static string GetAppConfig(string strKey) 66 { 67 string file = System.Windows.Forms.Application.ExecutablePath; 68 Configuration config = ConfigurationManager.OpenExeConfiguration(file); 69 foreach(string key in config.AppSettings.Settings.AllKeys) 70 { 71 if(key == strKey) 72 { 73 return config.AppSettings.Settings[strKey].Value.ToString(); 74 } 75 } 76 return null; 77 } 78 ///<summary> 79 ///在*.exe.config文件中appSettings配置节增加一对键值对 80 ///</summary> 81 ///<param name="newKey"></param> 82 ///<param name="newValue"></param> 83 public static void UpdateAppConfig(string newKey, string newValue) 84 { 85 string file = System.Windows.Forms.Application.ExecutablePath; 86 Configuration config = ConfigurationManager.OpenExeConfiguration(file); 87 bool exist = false; 88 foreach (string key in config.AppSettings.Settings.AllKeys) 89 { 90 if (key == newKey) 91 { 92 exist = true; 93 } 94 } 95 if (exist) 96 { 97 config.AppSettings.Settings.Remove(newKey); 98 } 99 config.AppSettings.Settings.Add(newKey, newValue); 100 config.Save(ConfigurationSaveMode.Modified); 101 ConfigurationManager.RefreshSection("appSettings"); 102 } 103 104 }