C# 配置文件读取与修改
 
配置文件在很多情况下都使用到, 配置文件分为两种 一种是应用程序的配置文件, 一种是web的配置文件.
两种配置文件最大的区别是web的配置文件更新之后会实时更新, 应用程序的配置文件不会实时更新.
更新应用程序的配置文件之后需刷新
ConfigurationSettings也存在这个问题, 但是我还不知道怎么刷新节点, 呵呵.
旧方法: 各位看官最好使用下面”新方法”
配置文件:
<configuration>
<appSettings>
<add key="name" value="我是远程服务器"/>
</appSettings>
</configuration>
后台程序值得读取:
string s=System.Configuration.ConfigurationSettings.AppSettings["name"];
修改配置文件的值:
/// <summary>
/// 更新配置文件信息
/// </summary>
/// <param name="name">配置文件字段名称</param>
/// <param name="Xvalue">值</param>
private void UpdateConfig(string name,string Xvalue)
{
XmlDocument doc = new XmlDocument();
doc.Load(Application.ExecutablePath + ".config");
XmlNode node = doc.SelectSingleNode(@"//add[@key='"+name+"']");
XmlElement ele = (XmlElement)node;
ele.SetAttribute("value", Xvalue);
doc.Save(Application.ExecutablePath + ".config");
}
 
向配置文件插入值:

 ///<summary>
///向.config文件的appKey结写入信息AppValue 保存设置
///</summary>
///<param name="AppKey">节点名</param>
///<param name="AppValue">值</param>
Private void SetValue(String AppKey,String AppValue)
{
Xmldocument xDoc=new XmlDocument();
xDoc.Load(System.Windows.Forms.Application.ExecutablePath+”.config”);
XmlNode xNode;
XmlElement xElem1;
XmlElement xElem2;
xNode=xDoc.SelectSingleNode(“//appSettings”);
xElem1=(XmlElement)xNode.SelectSingleNode(“//add[@key=’”+AppKey+”’]”);
if(xElem1!=null)
xElem1.SetAttribute(“value”,AppValue);
else
{
xElem2=xdoc.CreateElement(“add”);
xElem2.SetAttribute(“key”,AppKey);
xElem2.setAttribute(“value”,AppValue);
xNode.AppendChild(xElem2);
}
xDoc.Save(System.Windows.Forms.Application.ExecutablePath+”.config”);
}
 

新方法:
System.Configuration.ConfigurationSettings.AppSettings["Key"];
但是现在FrameWork2.0已经明确表示此属性已经过时。并建议改为ConfigurationManager或WebConfigurationManager。并且AppSettings属性是只读的,并不支持修改属性值.
但是要想调用ConfigurationManager必须要先在工程里添加system.configuration.dll程序集的引用。(在解决方案管理器中右键点击工程名称,在右键菜单中选择添加引用,.net TablePage下即可找到)添加引用后可以用 String str = ConfigurationManager.AppSettings["Key"]来获取对应的值了。
更新配置文件:
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//添加
cfa.AppSettings.Settings.Add("key", "Name")
//修改
cfa.AppSettings.Settings["BrowseDir"].Value = "name";
最后调用
cfa.Save();
当前的配置文件更新成功。
ConfigurationManager.RefreshSection("appSettings");// 刷新命名节,在下次检索它时将从磁盘重新读取它。记住应用程序要刷新节点

转载于:https://blog.51cto.com/tangchaolizi/1065168

C# 配置文件读取与修改相关推荐

  1. 【Go API 开发实战 6】基础 2:配置文件读取

    配置文件读取 本节核心内容 介绍 apiserver 所采用的配置解决方案 介绍如何配置 apiserver 并读取其配置,以及配置的高级用法 本小节源码下载路径:demo02 可先下载源码到本地,结 ...

  2. 在ASP.NET AJAX中使用应用程序服务和本地化(4):示例程序:读取、修改并保存用户个性化信息...

    本文来自<ASP.NET AJAX程序设计 第II卷:客户端Microsoft AJAX Library相关>的第五章<应用程序服务和本地化>. 让我们通过编写一个完整的示例程 ...

  3. PropertyPlaceholderConfigurer实现配置文件读取

    PropertyPlaceholderConfigurer实现配置文件读取 PropertyPlaceholderConfigurer类的主要的用法是将BeanFactory里定义的内容放在一个.pr ...

  4. SpringBoot第 5 讲:SpringBoot+properties配置文件读取

    一.创建Maven项目 参考:SpringBoot第 1 讲:HelloWorld_秦毅翔的专栏-CSDN博客 二.修改pom.xml pom.xml中只需要添加springboot依赖即可 < ...

  5. MySQL客户端对配置文件读取顺序的问题场景

    我们都知道使用MySQL客户端来访问MySQL数据库时,会以一定的顺序读取不同位置的配置文件,但在一次做测试时,发现除了按照顺序读取默认的配置文件路径外,MySQL还有额外的读取配置文件的行为.如下是 ...

  6. java对文本文件进行操作:读取、修改、添加、删除、重命名等

    java对文本文件进行操作:读取.修改.添加.删除.重命名等 Java IO 也称为IO流,IO = 流,它的核心就是对文件的操作,对于 字节 .字符类型的输入和输出流. IO是指对数据流的输入和输出 ...

  7. 【Groovy】Groovy 脚本调用 ( Groovy 配置文件格式 | Groovy 配置文件读取 | 完整配置文件及解析代码示例 )

    文章目录 前言 一.Groovy 配置文件格式 二.Groovy 配置文件读取 二.完整配置文件及解析代码示例 前言 在 Groovy 脚本 , Groovy 类 , Java 类中 , 可以调用 G ...

  8. 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 写出或更新配置文件 | 读取配置文件 )

    文章目录 一.写出或更新配置文件 二.读取配置文件 一.写出或更新配置文件 写出或更新配置文件 : 首先 , 使用 字符数组 存储 键值对 信息 ; // 写出 或 更新 的配置项// 数组声明会后 ...

  9. C#读取与修改XML文档

    在项目开发中,对XML文档的操作是很常用的,这里,简单的说明读取与修改XML文档 XML文档的格式 <?xml version="1.0" encoding="ut ...

最新文章

  1. java实现对HDFS增删改查(CRUD)等操作
  2. 窗体的ControlBox属性
  3. java的final修饰_java final 修饰符详解
  4. 笔试训练1 知识点整理
  5. HDU - 4461 The Power of Xiangqi
  6. ArrayBlockingQueue使用
  7. Vue.js项目中,当图片无法显示时则显示默认图片
  8. kali 如何使用word_如何学习并玩好kali?
  9. 使用微软官方方法制作纯净WinPE
  10. zigbee网关 cc2530裸机驱动温度传感器LM75A
  11. QIIME 2教程. 07Cell帕金森小鼠Parkinson's Mouse(2021.2,最佳实战)
  12. Python学习:数学运算教程
  13. 计算最大回撤python_python 计算收益回撤比
  14. php仿京东幸运大转盘抽奖,原生js vue 抽奖插件 仿京东大转盘抽京豆(原创)...
  15. 思岚科技陈士凯:场景化应用或成服务机器人行业突破口
  16. 联想智能云:“三级火箭”战略加持下的云时代整合服务商
  17. Python批量格式化文件名为000xxx.jpg
  18. 如何阅读项目工程源代码
  19. html5百度百科页面代码,百度百科-html.doc
  20. 物业管理系统/小区物业管理系统

热门文章

  1. GAC中部署assembly的问题总结
  2. 2014025679 《嵌入式系统程序设计》第五周学习总结
  3. Bzoj 1046: [HAOI2007]上升序列 二分,递推
  4. 基于CentOS中PXE网络环境构建实例
  5. Ntdsutil对活动目录的管理
  6. 三维地形可视化开源项目TerraVision
  7. 有谁还不会找技能Call跟我来(以打坐为例子)
  8. udp_socket聊天器demo
  9. 跟我学雨林木风系统制作——2.涉及的技术及用到的工具介绍
  10. Emacs 使用graphviz-dot-mode创建架构图