C#中配置文件的操作.docx
- 文档编号:3043610
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:7
- 大小:17.74KB
C#中配置文件的操作.docx
《C#中配置文件的操作.docx》由会员分享,可在线阅读,更多相关《C#中配置文件的操作.docx(7页珍藏版)》请在冰豆网上搜索。
C#中配置文件的操作
C#中配置文件的操作
注:
从网上收集整理了关于C#中配置文件的资料,以下是自己的学习笔记,希望能给大家一点帮助,如有错漏,恳请指出。
1配置文件介绍
程序配置文件实质上是应用程序的一种针对配置信息读写最简单的工具。
它重要的功能就是将命令行选项和配置文件选项统一到一种数据结构中,这样的话可以在外部设置参数,而无须修改代码来达到我们想要的效果。
配合上配置文件的读写接口,操作上也较为方便。
过去常见的配置文件是以“.ini”为后缀的文本文件。
INI,是英文“初始化(Initial)”的缩写。
正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。
格式上主要分为“节”、“参数”和“注解”三部分。
后来由于Windows95推出了注册表的概念,INI配置文件在系统中的地位就大不如前了。
不过作为应用程序的配置读写来说,INI还是有其牢固的地位的。
后来XML的发展也为配置文件提供了一种更好的存储格式。
常见到的“config”文件扩展名的文件,也是在C#编程中较为常用的。
C#的配置文件在编码阶段,可通过添加新项找到(名为“应用程序配置文件”),添加入项目后名为,程序编译后一般是以“程序名”+“.exe”+“.config”命名的文件出现。
config文件的内容与配置相关的分为两大部分,一部分为应用程序的配置节(appSettings),另一部分为连接字符串的配置节(connectionStrings)。
可使用C#提供的ConfigurationManager(原先使用ConfigureationSettings,现已弃用)进行读取。
ConfigurationManager中比较重要的是AppSettings和ConnectionStrings两个属性,分别负责读取应用程序的配置项(appSettings)和连接字符串的配置项(connectionStrings)。
如果要修改配置文件项,需要先通过ConfigurationManager的OpenExeConfigureation()方法读取信息到Configuration类中,再修改其中对应项的信息,然后执行保存,最后如果要将结果调用出来,还需要ConfigurationManager调用RefreshSection()方法进行刷新。
以上是对配置文件一些简单的介绍。
下面我们来详细看一下配置文件的各种功能和用法。
2INI配置文件
2.1格式
INI配置文件以”ini”为文件扩展名,内容格式为:
节、参数和注解。
每一个INI文件构成都非常类似,由若干段落(section)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键词(keyword)和一个等号,等号右边的就是关键字对应的值(value)。
其一般形式如下:
[Section1]
KeyWord1=Valuel
KeyWord2=Value2
……
[Section2]
KeyWord3=Value3
KeyWord4=Value4
2.1.1节
[section]
2.1.2参数
name=value
2.1.3注解
注解使用分号表示(;)。
在分号后面的文字,直到该行结尾都全部为注解。
如:
;commenttext
2.2操作
C#操作INI文件使用的是Windows系统自带Win32的API函数——WritePrivateProfileString()和GetPrivateProfileString()函数。
这二个函数都位于“”文件中。
C#中对Win32的API函数的互操作是通过命名空间“中的“DllImport”特征类来实现的。
它的主要作用是指示此属性化方法是作为非托管DLL的输出实现的。
2.2.1读取
[DllImport("kernel32")]
privatestaticexternintGetPrivateProfileString(stringsection,
stringkey,stringdef,StringBuilderretVal,
intsize,stringfilePath);
参数说明:
section:
INI文件中的段落名称;key:
INI文件中的关键字;def:
无法读取时候时候的缺省数值;retVal:
读取数值;size:
数值的大小;filePath:
INI文件的完整路径和名称。
2.2.2写入
[DllImport("kernel32")]
privatestaticexternlongWritePrivateProfileString(string
section,
stringkey,stringval,stringfilePath);
参数说明:
section:
INI文件中的段落;key:
INI文件中的关键字;val:
INI文件中关键字的数值;filePath:
INI文件的完整的路径和名称。
实例
下面是自行编写的一个读写INI文件的类
classIniFile
{
ETFramework,Version="/>
"/> "/> 2.3appSettings节的操作 config文件中appSettings的读取主要依靠ConfigurationManager类提供的两个属性: AppSettings和ConnectionStrings,通过字符串索引获取对应配置项的内容。 config文件中appSettings的读取主要依靠ConfigurationManager类提供的属性: AppSettings,通过字符串索引获取对应配置项的内容。 而写入操作,必须要先读取配置到一个特定的配置对象中,再作修改和保存。 2.3.1读取 通过[key]读取 例子: publicstaticstringGetAppSetting(stringkey) { strings=""; try { s=[key]; } catch{} returns; } 2.3.2以配置对象为单位写入 写入需要将配置文件读取到Configuration对象中,然后在其中修改,最后保存。 另外注意,Configuration类是没有构造函数的,需要使用ConfigurationManager类的OpenExeConfiguration()方法打开。 2.3.2.1打开 与connectionStrings的打开相同 1、打开当前程序的配置文件。 Configurationconfig=; 2、打开指定路径的配置文件。 (stringexePath) 2.3.2.2修改 =value;alue=value; (); 2.4connectionStrings节的操作 config文件中connectionStrings的读取跟appSettings类似,也要依靠ConfigurationManager类提供的属性,这个属性为ConnectionStrings。 写入操作也类同。 2.4.1读取 [name].ToString() 2.4.2写入 2.4.2.1打开 2.4.2.2参照修改 =connectionString; onnectionString=connectionString; (); 2.5自定义配置节的操作 利用Configuration的GetSection()方法,获取后操作。 2.6实例 直接上源代码: usingSystem; using; using; using; namespaceTestConfig1 { classConfigMgr { oString(); } catch{} returns; } alue=value; (); } else { value); (); } ("appSettings"); } onnectionString=connectionString; (); } else { ConnectionStringSettingsconnSettings=newConnectionStringSettings(name,connectionString,providerName); (); } ("appSettings"); } /// /// /// /// publicstaticboolRemoveAppSetting(stringkey) { try { if! =null) { //; } ; ("appSettings"); returntrue; } catch { returnfalse; } } /// /// /// /// publicstaticboolRemoveConnString(stringname) { try { if! =null) { //; } ; ("connectionStrings"); returntrue; } catch { returnfalse; } } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 配置文件 操作