从文件中读取Java属性组

PNS*_*PNS 4 java load properties

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

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

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

zac*_*usz 7

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

group1.key1=valgroup1key1
group2.key1=valgroup2key1
group2.key2=valgroup2key2
Run Code Online (Sandbox Code Playgroud)

并按如下方式阅读:

class PrefixedProperty extends Properties {
    public String getProperty(String group, String key) {
        return getProperty(group + '.' + key);
    }
}
Run Code Online (Sandbox Code Playgroud)

和使用:

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

你也可以使用ini4j和windows ini文件.

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