我的项目中有一个文件夹,我将放置所有属性文件。现在在运行时,我想加载所有属性文件并加载所有属性值并从中搜索。我不想指定具体的属性名称。如何只提供文件夹名称并让它们自己加载?
答案 0 :(得分:1)
如果您对load
使用Properties次连续调用,则会添加多个属性文件。
如果使用ResourceBundle,实际上是PropertyResourceBundle,可以创建自己的ResourceBundle并委托给实际的属性文件。 为了防止为某些请求的密钥尝试错误的捆绑包,可以预加载所有属性文件,例如作为一个大的ListResourceBundle。 或者可以使用地图。 行为会改变。
答案 1 :(得分:0)
您需要逐个搜索所有属性文件。请注意,结果可能不是唯一的,因为两个属性文件可以包含相同的键。一次加载所有属性文件并将它们的值放在一个Map中可能会有所帮助。
答案 2 :(得分:0)
您可以创建Ant Task。
以下是一个例子。见here for more:
<loadproperties>
<file file="file1.properties"/>
<file file="file2.properties"/>
<file file="file3.properties"/>
</loadproperties>