如何编写java程序来读取不同包中存在的多个属性文件并将它们合并为一个。 我有config.properties文件存在于不同的包示例src / main / resources / folder1,src / main / resources / folder2 ..etc现在我想读取这些属性文件并删除重复项并将它们合并为一个。
答案 0 :(得分:2)
Properties
类扩展Hashtable
,因此它可以使用所有Map
接口的方法,例如:
Properties p1 = loadProperties("file1.properties");
Properties p2 = loadProperties("file2.properties");
p1.addAll(p2);
答案 1 :(得分:0)
你可以做这样的事情,它为我工作。
Properties properties = new Properties();
properties.load(new FileInputStream("relative\path\of\config1.properties"));
Properties properties2 = new Properties();
properties2.load(new FileInputStream("relative\path\of\config1.properties"));
.
.
Properties propertiesN = new Properties();
propertiesN.load(new FileInputStream("relative\path\of\configN.properties"));
properties.putAll(properties2);
.
.
properties.putAll(propertiesN);
现在你有一个合并N个属性文件的属性。
答案 2 :(得分:0)
in Spring we have propertyplaceholder you can use it like <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:classpath:source/main/resources/config1/*.properties</value>
alue>classpath:classpath:source/main/resources/config2/*.properties</value>
alue>classpath:classpath:source/main/resources/config3/*.properties</value>
</list>
</property>
<property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>