我们如何加载位于同一文件夹中不同属性文件中的所有属性?

时间:2018-03-26 06:37:55

标签: java properties-file

我的项目中有一个文件夹,我将放置所有属性文件。现在在运行时,我想加载所有属性文件并加载所有属性值并从中搜索。我不想指定具体的属性名称。如何只提供文件夹名称并让它们自己加载?

3 个答案:

答案 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>