java解析配置文件的section_INI文件格式以及Java编码实现读取

INI是 initialization的缩写。INI文件是一种轻量级的配置文件,广泛地用于各种操作系统和软件中。INI文件是一种简单的文本文件,基本结构很简单、可读性高,必要的元素只有两种:section、property(包括name/key和value)。

历史:

在MS-DOS和16位Windows系统中,直到Windows ME为止,都是使用INI文件作为操作系统配置文件(比如:win.ini, system.ini),用来配置驱动、字体、启动项、等等等等。各种应用软件也广泛地采用INI文件来保存自己的配置信息。

Windows NT之后,微软开始采用和推广注册表来保存配置信息,并引导开发者尽量使用注册表。然而,由于注册表不是跨操作系统可用的,所有很多应用程序还是喜欢并继续使用INI文件,就算有些不是以ini作为扩展名(比如conf、txt等),也是使用了类似的section、property两种元素。

格式/元素:

Property:

一般是由“=”号分隔的key(或叫name)/value对。一个property占用一行。例子:

name  =  value

myName  =  张三

Section:

就是由若干个property的归类和分组,一个section占用一行,名字放在中括号“[]”里面。section定义后面的所有property都属于这个section,直到下一个section出现为止。

大小写:在windows中,大小写是不敏感的。

注释:windows中的注释是以分号“;”开始的文字(Linux用井号“#”)

除了以上的标准定义之外,一些应用程序还支持和补充了其他扩展的格式:

空行:某些程序不允许有空行;

注释:有些程序支持使用井号“#”做注释的开头;有些程序不允许注释和section、property混在一行中;

重名:如有重名的property,有些程序取第一个,有些取最后一个,(section重名的话无所谓,一般就是合并他们的properties);

转义符:有些程序支持转义符,特别是反斜杠“\”在行末作为两行的连接符;

Global properties:有些程序支持在第一个section标签之前可以有properties,并把它们归类为“global” section;

空格:大多数程序支持处理name/value前后的空格,以便文字对齐增强可读性;

顺序:绝大多数程序是不管section和property出现的顺序的;

和其他类型配置文件的比较:

xml, json, yaml文件:他们都支持嵌套定义properties,但属于重量级的配置文件,语法比较复杂。

Java编码实现读取:

实现的功能:

* 读取 INI 文件,存放到Map中

*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值