是否可以从Java文件中读取不同的属性组,而无需手动处理?
“手动”是指逐行读取文件,检测属性组的起始位置,然后提取相应的键值对。实际上,这意味着重新发明(大部分)Properties.load()方法所构成的轮子。
基本上,我正在寻找的是一种简单的方法,从单个文件中读取多组属性,每个组都是可识别的,这样它就可以加载到自己的Java Properties对象中。
答案 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)。