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

How can we load all properties located in different property files within same folder?

我想运行 整个文件夹中的属性文件。如果 属性 不存在于一个文件中,系统应搜索同一文件夹中的其他文件。如何通过 Java 中的属性文件实现此目的?

您需要一个一个地搜索所有的属性文件。请注意,结果可能不是唯一的,因为两个属性文件可能包含相同的键。一次加载所有属性文件并将它们的值放入单个 Map 可能会有所帮助。

您可以创建 Ant Task

下面是一个例子。见 here for more:

<loadproperties>
  <file file="file1.properties"/>
  <file file="file2.properties"/>
  <file file="file3.properties"/>
</loadproperties>

如果您使用 Properties 连续调用 load 将添加多个属性文件。

如果您使用 ResourceBundle,实际上是一个 PropertyResourceBundle,您可以创建自己的 ResourceBundle 并委托给实际的属性文件。 为了防止为某些请求的密钥尝试错误的包,可以预加载所有属性文件,例如作为一个大型 ListResourceBundle。 或者可以使用地图。 行为会改变。