zoukankan      html  css  js  c++  java
  • VS2005中读写配置文件(方法一)(转载)

    VS2003中对于应用程序配置文件(app.config或者web.config)只提供了读取的功能。而在VS2005中,对于配置文件的功能有了很大的加强。
    在VS2005中,对于应用程序配置文件的读写一般使用Configuration,ConfigurationManager两个类。
    ConfigurationManager类为客户应用程序提供了一个访问的功能。
    使用ConfigurationManager对象执行打开配置文件的操作后,将会返回一个Configuration的对象。
    通过程序实现读写配置文件的代码如下所示:
    1     创建配置文件中的配置节所对应的类。该类必须继承自ConfigurationSection

    public sealed class ConfigurationSections : ConfigurationSection
           
    {
               [ConfigurationProperty(
    "filename", DefaultValue = "default.txt")]
               
    public string FileName
               
    {
                   
    get
                   
    {
                       
    return (string)this["filename"];
                   }

                   
    set
                   
    {
                       
    this["filename"= value;
                   }

               }

           }

           
    public sealed class BusinessSpaceConfiguration : ConfigurationSection
           
    {
               [ConfigurationProperty(
    "filename")]
               
    public string FileName
               
    {
                   
    get
                   
    {
                       
    return (string)this["filename"];
                   }

                   
    set
                   
    {
                       
    this["filename"= value;
                   }

               }

           }

    2     创建配置文件代码

    private static void WriteAppConfiguration()
               
    {
                   
    try
                   
    {
                       ConfigurationSections configData 
    = new ConfigurationSections();
                       configData.FileName 
    = "abc.txt";
                       System.Configuration.Configuration     config 
    = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                       config.Sections.Remove(
    "ConfigurationSections");
                       config.Sections.Add(
    "ConfigurationSections", configData);
                       config.Save();

                       BusinessSpaceConfiguration bsconfigData 
    = new BusinessSpaceConfiguration();
                       bsconfigData.FileName 
    = "def.txt";
                       System.Configuration.Configuration config1 
    = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                       config1.Sections.Remove(
    "BusinessSpaceConfiguration");
                       config1.Sections.Add(
    "BusinessSpaceConfiguration", bsconfigData);
                       config1.Save();                      
                   }

                   
    catch (Exception err)
                   
    {
                       Console.Write(err.Message);
                   }

               }


    3     生成的配置文件格式如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
           
    <configSections>
               
    <section name="BusinessSpaceConfiguration" type="ConsoleApplication1.BusinessSpaceConfiguration, ConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
               
    <section name="ConfigurationSections" type="ConsoleApplication1.ConfigurationSections, ConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
           
    </configSections>
           
    <BusinessSpaceConfiguration filename="def.txt" />
           
    <ConfigurationSections filename="abc.txt" />
    </configuration>


    3     读取应用程序配置文件

    private static void ReadAppConfiguration()
               
    {
                   ConfigurationSections obj1 
    = ConfigurationManager.GetSection("ConfigurationSections"as ConfigurationSections;
                   BusinessSpaceConfiguration obj2 
    = ConfigurationManager.GetSection("BusinessSpaceConfiguration"as BusinessSpaceConfiguration;
                   Console.WriteLine(obj1.FileName);
                   Console.WriteLine(obj2.FileName);

               }

    本文转自
    http://hi.baidu.com/geminiboy2008/blog/item/e59dee2a1f441899023bf647.html

  • 相关阅读:
    POJ 3041 Asteroids 最小点覆盖 == 二分图的最大匹配
    POJ 3083 Children of the Candy Corn bfs和dfs
    POJ 2049 Finding Nemo bfs 建图很难。。
    POJ 2513 Colored Sticks 字典树、并查集、欧拉通路
    POJ 1013 Counterfeit Dollar 集合上的位运算
    POJ 2965 The Pilots Brothers' refrigerator 位运算枚举
    无聊拿socket写的100以内的加法考试。。。
    POJ 1753 Flip Game
    初学socket,c语言写的简单局域网聊天
    汇编语言 复习 第十一章 标志寄存器
  • 原文地址:https://www.cnblogs.com/mlog/p/2456411.html
Copyright © 2011-2022 走看看