使用nini开源类库实现c#对ini文件的读写
在这次的项目中,用到了很多新的知识.本篇文章要说的是利用nini开源类库实现c#对ini文件的读写.
ini文件是windows系统中一种比较常见的文件,在软件中经常用来存储一些配置信息.nini是一个开源类库,其中包含对ini文件操作的类,官方网站是http://nini.sourceforge.net/,类库对应的dll文件可以点nini类库文件(包含framework1.0,1.1,2.0三个版本)下载.
废话不多说了,我的程序中有如下一个ini文件config.ini(放在了App_Data目录下):
[System]
;
AllowRegCount = 99999
要使用nini的功能,先要在项目中"添加引用",找到对应的nini.dll文件,引入进来,因为我用的是asp.net2.0,故引用的asp.net2.0对应的nini.dll.
在要操作ini文件的代码中引入对应的命名空间using Nini.Config;
下边是读取ini文件的代码:
下边是修改ini文件的代码:
以上利用nini类库实现了对ini文件的简单读写.实际上nini的功能远比本文用到的要强大的多,更强大的功能有待于朋友们在使用中不断发掘.本文仅为抛砖引玉之作.
ini文件是windows系统中一种比较常见的文件,在软件中经常用来存储一些配置信息.nini是一个开源类库,其中包含对ini文件操作的类,官方网站是http://nini.sourceforge.net/,类库对应的dll文件可以点nini类库文件(包含framework1.0,1.1,2.0三个版本)下载.
废话不多说了,我的程序中有如下一个ini文件config.ini(放在了App_Data目录下):
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
在要操作ini文件的代码中引入对应的命名空间using Nini.Config;
下边是读取ini文件的代码:
1
IConfigSource source = new IniConfigSource(Server.MapPath("~/App_Data/config.ini"));
2
IConfig config = source.Configs["System"];
3
lblCount.Text = config.Get("AllowRegCount");
简单说明一下:第1行为指定要操作的ini文件,这里是App_Data目录下的config.ini,第2行找到ini文件中对应的节,这里找的"System"这个节,第3行的get方法取得对应节下指定key对应的value,这里是取得AllowRegCount对应的value ,也即99999.![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
下边是修改ini文件的代码:
1
IConfigSource source = new IniConfigSource(Server.MapPath("~/App_Data/config.ini"));
2
IConfig config = source.Configs["System"];
3
try
4
{
5
int nAllowRegCount = Convert.ToInt32(config.Get("AllowRegCount"));
6
nAllowRegCount = nAllowRegCount - 1;
7
config.Set("AllowRegCount",nAllowRegCount);
8
source.Save();
9
}
10
catch(Exception error)
11
{
12
SysLog.WriteErrorLog("配置文件中允许注册数不是整数",error);
13
}
这里关键的是第7行和第8行的代码.第7行代码为设置AllowRegCount的value,这里为配置文件数减1,第8行代码为保存修改.![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
以上利用nini类库实现了对ini文件的简单读写.实际上nini的功能远比本文用到的要强大的多,更强大的功能有待于朋友们在使用中不断发掘.本文仅为抛砖引玉之作.