我们如何加载位于同一文件夹内不同 属性 文件中的所有属性?
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。
或者可以使用地图。
行为会改变。
我想运行 整个文件夹中的属性文件。如果 属性 不存在于一个文件中,系统应搜索同一文件夹中的其他文件。如何通过 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。 或者可以使用地图。 行为会改变。