4
是否可以从Java文件读取不同的属性组,而无需手动处理?从文件读取Java属性组
“手动”我的意思是逐行读取文件,检测属性组的开始位置,然后提取相应的键值对。实际上,这意味着重新创建(大部分)Properties.load()方法构成的轮子。
本质上,我正在寻找的是从单个文件中读取多组属性的简单方法,每个组都可以识别,以便它可以加载到它自己的Java属性对象中。
是否可以从Java文件读取不同的属性组,而无需手动处理?从文件读取Java属性组
“手动”我的意思是逐行读取文件,检测属性组的开始位置,然后提取相应的键值对。实际上,这意味着重新创建(大部分)Properties.load()方法构成的轮子。
本质上,我正在寻找的是从单个文件中读取多组属性的简单方法,每个组都可以识别,以便它可以加载到它自己的Java属性对象中。
我想要使用java.util.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)。
你的意思是像一个INI文件吗?执行此操作的常用方法是为您的属性使用前缀group1.prop1 = ... group1.prop2 = ... group2.prop1 = ...请参阅log4j属性。 –
这似乎是一种适当的标记语言,如XML最适合。 –