【发布时间】:2018-06-03 18:42:08
【问题描述】:
我想从配置文件中读取 Name 属性。我希望我的配置文件看起来像这样:
config.properties
Person{
Name= ABC
PhoneNumber=123
}
Address{
Pin=500
}
我试过了
public Properties readConfiguration()
{
File configFile1 = new File("config.properties");
try {
FileReader reader = new FileReader(configFile1);
Properties props = new Properties();
props.load(reader);
reader.close();
return props;
} catch (FileNotFoundException ex) {
// file does not exist
} catch (IOException ex) {
// I/O error
}
return null;
}
但是这个函数只能读取键值对并且它不能读取嵌套的属性。那么我应该使用什么来读取嵌套属性呢?
请帮我找到读取嵌套属性的解决方案。
【问题讨论】:
-
我建议您为给定的结构使用
YAML文件而不是property文件。 -
您是如何认为上述是可接受的 .properties 文件格式?它不是。这里是文件格式的说明:docs.oracle.com/javase/8/docs/api/java/util/…如果你想要像上面这样的分层属性,你需要编写自己的解析器。
-
使用 Groovy 并为此创建一个 DSL。这种结构非常适合 Groovy。
标签: java