在C#中读写INI配置文件

在作应用系统开发时,管理配置是必不可少的。例如数据库服务器的配置、安装和更新配置等等。由于Xml的兴起,现在的配置文件大都是以xml文档来存储。比如Visual Studio.Net自身的配置文件Mashine.config,Asp.Net的配置文件Web.Config,包括我在介绍Remoting中提到的配置文件,都是xml的格式。

传统的配置文件ini已有被xml文件逐步代替的趋势,但对于简单的配置,ini文件还是有用武之地的。ini文件其实就是一个文本文件,它有固定的格式,节Section的名字用[]括起来,然后换行说明key的值:
[section]
key=value

如数据库服务器配置文件:

DBServer.ini

[Server]
Name=localhost
[DB]
Name=NorthWind
[User]
Name=sa

在C#中,对配置文件的读写是通过API函数来完成的,代码很简单:

 

using System;
using System.Text;
using System.IO;
using System.Runtime.InteropServices;

namespace PubOp
{
    
public class OperateIniFile
    
{
        
API函数声明

        
读Ini文件

        
写Ini文件
    }

}


简单说明以下方法WriteIniData()和ReadIniData()的参数。

Section参数、Key参数和IniFilePath不用再说,Value参数表明key的值,而这里的NoText对应API函数的def参数,它的值由用户指定,是当在配置文件中没有找到具体的Value时,就用NoText的值来代替。

posted on 2004-07-16 13:22 张逸 阅读(7467) 评论(6)  编辑 收藏 所属分类: C# Programming

评论

#1楼  2004-07-16 13:30 Unruled Boy(灵感之源)      

codeproject上有利用SortedList来直接实现的,不需要API,这样就可以跨平台了。   回复  引用  查看    

#2楼  2004-07-16 13:35 wayfarer      

哦。那样更好!

不过使用API的方法还是值得借鉴的。其实在.Net中有很多API函数所提供的功能没有被包括中类库中。有时侯需要调用Windows下某些底层信息,就需要调用API函数。   回复  引用  查看    

#3楼  2004-07-16 14:08 fengzhimei      

最好再加上加密,这样会比较安全:)   回复  引用  查看    

#4楼  2004-07-16 16:34 birdshome      

这个API效率太低了,为什么不用XML文件呢?

  回复  引用  查看    

#5楼  2004-07-16 16:54 wayfarer      

你说的也对。

不过我的前提是一些短小的配置文件,采用这种方法就很好。不考虑平台的问题,它的实现方法比Xml更简单。

在这里,我只是提供一种方法而已。其实我们在公司开发项目时,用到的配置文件都是采用xml格式。写在这里,目的是将文章当作一个小tip。也许以后会用到。

老实说,博客园一方面满足了我发表文章的欲望,也提供了交流的园地。不过我还将它作为自己的资料库。

写程序不可能什么东西都记在心里,以前做过的东西可能会忘。因此我会在博客里写出自己的一些心得,也会收集一些自己认为好或者有用的文章,这对自己的工作还是有帮助的。   回复  引用  查看    

#6楼  2007-06-12 15:19 snowfox [未注册用户]

WritePrivateProfileString()返回true,为什么文件里没内容??   回复  引用    




导航

公告

logo.gif
我的著作与译作

《软件设计精要与模式》

《WCF服务编程》

MVP_Horizontal_BlueOnly.png

From 03-03-2006
Counter: site stats

与我联系

搜索

 

常用链接

我参加的小组

我参与的团队

随笔分类(243)

随笔档案(235)

最新随笔

积分与排名

最新评论

阅读排行榜

评论排行榜