为你的程序/系统提供强大的配置功能(选项配置文件的读写)
2005-07-01 13:08 灵感之源 阅读(4373) 评论(5) 编辑 收藏 举报.NET中,XML文件是首选的选项配置载体。
对于WinForm,有app.config,对WebForm,有web.config,.NET特别提供了System.Configuration来简化大家对选项配置的操作。
但,习惯使用INI的朋友们,你们是否会感到失望,因为.NET不提供INI的访问,因此访问者往往使用PInvoke调用WIN32 API,有些朋友还用纯C#实现了INI的访问。
关键的INI WIN32 API包括:
□读值:GetPrivateProfileString(非系统)
□写值:WritePrivateProfileString(非系统)
□读值:GetProfileString(系统)
□读值:WriteProfileString(系统)
其次还有:
□读区域名称列表:GetPrivateProfileSectionNames(非系统)
□读区域名称:GetPrivateProfileSection(非系统)
□写区域名称:WritePrivateProfileSection(非系统)
□读区域名称:GetProfileSection (系统)
□写区域名称:WriteProfileSection(系统)
慢着:INI究竟是什么?估计没有多少人说得清楚,因为大部分开发人员都只知道它是微软制定的文件格式,标准的键值对,用以存放程序的选项配置。
INI,读作“-in-ee”,代表Init(初始化)/Information(信息)。老Windows有2个系统INI文件:WIN.INI and SYSTEM.INI,存放了大量的系统信息,包括驱动程序列表等。自WIN95和WinNT开始,就采用Registry(注册表)了,现在Windows只是向下兼容才继续使用。
今天,我就为大家介绍几个各具特色的INI访问类库(含源代码)。
1、INI Handler,纯C#,应用了SortedList;
2、Read/Write XML files, Config files, INI files, or the Registry
□支持INI, XML, Registry
3、INIFile Class using VB.NET ,pure vb.net,不依赖WIN32 API。
4、NINI:http://nini.sourceforge.net/,最强大的,特点:
□纯C#,
□可跨.NET/Mono Linux/Mac/Windows ,
□支持INI, XML, Registry,
□轻量级,
□高速,
□可把多个配置文件合并为一个,
等等
这是使用手册,这是API。
它之所以快,是因为它把整个文件载入内存进行操作。Windows的INI操作则每次存取都要读写物理文件。