一个ini文件读写类的设计和实现
2009-05-15 17:31
218 查看
前言:
决定自己写一个ini读写类,希望对大家能有所帮助。
如有朋友发现问题,请务必致信bicheng.gui@gmail.com
1. 什么是ini文件?
ni 文件是文本文件,中间的数据格式一般为:
[Section1 Name]
KeyName1=value1
KeyName2=value2
...
[Section2 Name]
KeyName1=value1
KeyName2=value2
ini 文件可以分为很多个 Section,每个 Section 的名称用 [] 括起。在一个 Section 中,可以有很多的 Key,每一个 Key可以有一个value并占用一行,格式是 Key = value. 每一行以'#'和';'开头的为注释。
下面是一个实例文件:
[Database]
DBMS=O84 ORACLE
ServerName = 192.168.1.1
Database = db
DatabasePassword = 123456
LogPassword = 123456
[xDatabase]
DBMS = oracle
ServerName=mssql-srv-02
2. 设计思路
ini文件的操作一般为读一个key和更新key的值。删除和增加key的情况比较少见。一般不需要这两个操作。
读写的实现是这样的,先把文件内容读到一个内存里。再在内存里进行读写。出于移植性的考虑,代码将严格遵守标准的规定。因为读文件和写文件需要用到的数据结构不同,因此设计两个类,一个用来读,一个用来写。
读类的实现: 用一个嵌套的map<string,map<string,string>>数据结构来实现。
写类的实现:map和set会默认排序,会打乱section和key的顺序,因此并不适合用来写文件。为追求效率,可以直接对文件进行操作。
决定自己写一个ini读写类,希望对大家能有所帮助。
如有朋友发现问题,请务必致信bicheng.gui@gmail.com
1. 什么是ini文件?
ni 文件是文本文件,中间的数据格式一般为:
[Section1 Name]
KeyName1=value1
KeyName2=value2
...
[Section2 Name]
KeyName1=value1
KeyName2=value2
ini 文件可以分为很多个 Section,每个 Section 的名称用 [] 括起。在一个 Section 中,可以有很多的 Key,每一个 Key可以有一个value并占用一行,格式是 Key = value. 每一行以'#'和';'开头的为注释。
下面是一个实例文件:
[Database]
DBMS=O84 ORACLE
ServerName = 192.168.1.1
Database = db
DatabasePassword = 123456
LogPassword = 123456
[xDatabase]
DBMS = oracle
ServerName=mssql-srv-02
2. 设计思路
ini文件的操作一般为读一个key和更新key的值。删除和增加key的情况比较少见。一般不需要这两个操作。
读写的实现是这样的,先把文件内容读到一个内存里。再在内存里进行读写。出于移植性的考虑,代码将严格遵守标准的规定。因为读文件和写文件需要用到的数据结构不同,因此设计两个类,一个用来读,一个用来写。
读类的实现: 用一个嵌套的map<string,map<string,string>>数据结构来实现。
写类的实现:map和set会默认排序,会打乱section和key的顺序,因此并不适合用来写文件。为追求效率,可以直接对文件进行操作。
相关文章推荐
- Key-Value配置信息类(.ini文件信息管理类)的设计与实现
- C#实现ini文件读写操作
- c#实现的INI文件读写
- QT下实现ini文件读写
- java 实现读写txt文件中的指定一个数字
- VC++中实现INI文件读写的方法和示例
- 在.NET中实现INI文件读写API V0.2.2
- ini文件读写模块(可以穷举一个ini文件里的所有段名和指定段的键名/键值)
- oc 文件管理NSFileManager,文件读写NSFileHandle ,设计一个文件管理类将一个文件复制到另一个文件,由于文件过大要求每次复制100长度,通过NSFileHandle 来操作,并
- 分享一个java对xml,excel,jdbc.properties,读写文件,读写图片等实现(3)
- bcb 读写ini 配置文件的一个例子
- Python实现读写INI配置文件的方法示例
- WINCE应用层设计经验总结-关于INI文件读写的类
- 用java读写ini配置文件的原因以及实现 示例
- 一个简单的利用ini配置文件以及用户输入的交互进行文件夹内容拷贝的批处理文件脚本的实现
- 分享一个java对xml,excel,jdbc.properties,读写文件,读写图片等实现(2)
- 一个读写ini文件属性的例子
- 试用socket api借口设计一个文件传送软件,并编程实现,可自定义文件传输的通信。
- 用 VB 写一个类读写 INI 文件
- 将前缀和后缀相同的文件移动到同一个目录的算法设计及C代码实现