我正在使用Apache Commons Configuration来读取属性文件,我完全能够进行变量插值,并且还可以将多值属性作为列表进行检索.但是,我无法正确加载具有多个值的属性,其中一个属性是另一个多值属性的引用(变量插值).
这是我的属性文件的示例(我也尝试使用逗号分隔语法):
doc.mime=application/msword
doc.mime=application/vnd.openxmlformats-officedocument.wordprocessingml.document
doc.mime=${office.mime}
office.mime=application/x-tika-msoffice
office.mime=application/x-tika-ooxml
Run Code Online (Sandbox Code Playgroud)
以及我如何阅读它:
Configuration config = new PropertiesConfiguration("myFile");
final String[] mimesArray = config.getStringArray("doc.mime");
for(String mime : mimesArray) System.out.println(mime);
final List<Object> mimesList = config.getList("doc.mime");
System.out.println(mimesList);
Run Code Online (Sandbox Code Playgroud)
这是我用任何一种方法得到的内容(getStringArray和getList):
[application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/x-tika-msoffice]
这跟我想象中的不同:两者的全部内容doc.mime和office.mime
有谁知道是否有可能在我的其他列表中插入整个值列表?如果是这样,它是如何完成的?