从文件中读取Java属性组

时间:2011-07-14 16:33:20

标签: java properties load

是否可以从Java文件中读取不同的属性组,而无需手动处理?

“手动”是指逐行读取文件,检测属性组的起始位置,然后提取相应的键值对。实际上,这意味着重新发明(大部分)Properties.load()方法所构成的轮子。

基本上,我正在寻找的是一种简单的方法,从单个文件中读取多组属性,每个组都是可识别的,这样它就可以加载到自己的Java Properties对象中。

1 个答案:

答案 0 :(得分:7)

我想使用java.util.Properties你可以使用前缀。在.properties文件中:

group1.key1=valgroup1key1
group2.key1=valgroup2key1
group2.key2=valgroup2key2

并按照以下方式阅读:

class PrefixedProperty extends Properties {
    public String getProperty(String group, String key) {
        return getProperty(group + '.' + key);
    }
}

并使用:

/* loading, initialization like for java.util.Properties */
String val = prefixedProperty.getProperty("group1", "key1");

您还可以将ini4j与windows ini文件一起使用。

另一种更好的方法是使用自己的自定义结构化文件(例如XML)。