﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-好好学习，天天向上-随笔分类-编程技巧</title><link>http://www.cppblog.com/lzyuan1006/category/20039.html</link><description>在这个神马都是浮云的年代，我背着理想，带上坚持上路了...</description><language>zh-cn</language><lastBuildDate>Sun, 07 Oct 2012 17:23:03 GMT</lastBuildDate><pubDate>Sun, 07 Oct 2012 17:23:03 GMT</pubDate><ttl>60</ttl><item><title>C# 读写Config文件</title><link>http://www.cppblog.com/lzyuan1006/archive/2009/12/24/103998.html</link><dc:creator>尘末</dc:creator><author>尘末</author><pubDate>Thu, 24 Dec 2009 14:43:00 GMT</pubDate><guid>http://www.cppblog.com/lzyuan1006/archive/2009/12/24/103998.html</guid><wfw:comment>http://www.cppblog.com/lzyuan1006/comments/103998.html</wfw:comment><comments>http://www.cppblog.com/lzyuan1006/archive/2009/12/24/103998.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lzyuan1006/comments/commentRss/103998.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lzyuan1006/services/trackbacks/103998.html</trackback:ping><description><![CDATA[<p>读语句：<br /></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String&nbsp;str&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ConfigurationManager.AppSettings[</span><span style="color: #000000">"</span><span style="color: #000000">DemoKey</span><span style="color: #000000">"</span><span style="color: #000000">].Value;<br /></span></div>
<p><br /><br /></p>
<p>写语句：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configuration&nbsp;config&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ConfigurationManager.OpenExeConfiguration(</span><span style="color: #000000">"E</span><span style="color: #000000">:\db.config</span><span style="color: #000000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;config.AppSettings.Settings[</span><span style="color: #000000">"</span><span style="color: #000000">DemoKey</span><span style="color: #000000">"</span><span style="color: #000000">].Value&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">DemoValue</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;config.Save();</span></div>
<p>&nbsp;</p>
<p>配置文件内容格式：（db.config）</p>
<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="utf-8"&nbsp;</span><span style="color: #0000ff">?&gt;<br /></span><span style="color: #0000ff">&nbsp; &lt;</span><span style="color: #800000">configuration</span><span style="color: #0000ff">&gt;<br /></span>&nbsp;&nbsp;&nbsp; &nbsp;<span style="color: #000000"></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">appSettings</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">add&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="DemoKey"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="*"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</span><span style="color: #800000">appSettings</span><span style="color: #0000ff">&gt;<br /></span>&nbsp;&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">configuration</span><span style="color: #0000ff">&gt;</span></div>
<p><br /><br />以上是网上转载，我仔细测试了一下，发现这段代码会有一个小问题（其实网上的人也说到了），&nbsp; <br /><br />ConfigurationManager.OpenExeConfiguration("E:\db.config");&nbsp;&nbsp;&nbsp; <br /><br />这个方法会在这个目录下产生一个副本文件（E:\db.config.config）， 而代码真正操作的文件却不是db.config，而是程序自动创建的db.config.config文件，所以很苦恼，若删除原文件，则又会提示报错， <br /><br />在这里我做了一点稍微的改动就可以达要我们想要的目的，（不生成文件副本，直接操作此文件，且更新操作也是操作此文件）：<br /><br /></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span><span style="color: #008000">先实例化一个ExeConfigurationFileMap对象，把物理地址赋值到它的&nbsp;ExeConfigFilename&nbsp;属性中；</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExeConfigurationFileMap&nbsp;fileMap&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ExeConfigurationFileMap();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fileMap.ExeConfigFilename&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">@"</span><span style="color: #000000">E:\MySrc\db.config</span><span style="color: #000000">"</span><span style="color: #000000">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">再调用fileMap&nbsp;实例化&nbsp;config&nbsp;,&nbsp;这样，操作的文件就是db.config文件了，也不会产生副本文件</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configuration&nbsp;config&nbsp;</span><span style="color: #000000">=</span>&nbsp;ConfigurationManager.OpenMappedExeConfiguration(fileMap,&nbsp;ConfigurationUserLevel.None);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #008000">//读写操作跟原来一样，不变</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String&nbsp;str&nbsp;=&nbsp;ConfigurationManager.AppSettings["DemoKey"];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;config.AppSettings.Settings["DemoKey"].Value&nbsp;=&nbsp;"DemoValue";<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000">&nbsp; //写完之后一定要保存，否则不会保存到文件中去的</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; config.Save();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div>
<br /><br />首次发文，有点次，算是一个小问题的总结吧。<img src ="http://www.cppblog.com/lzyuan1006/aggbug/103998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lzyuan1006/" target="_blank">尘末</a> 2009-12-24 22:43 <a href="http://www.cppblog.com/lzyuan1006/archive/2009/12/24/103998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>