首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何合并两个java.util.Properties对象?

如何合并两个java.util.Properties对象?
EN

Stack Overflow用户
提问于 2010-01-05 16:38:42
回答 3查看 45.3K关注 0票数 66

我正在尝试在我的类中创建一个默认的java.util.Properties对象,并使用它接受的默认属性,并让开发人员通过指定另一个java.util.Properties对象来覆盖其中的一些属性,但是我找不到一个很好的方法来做到这一点。

目标用途如下:

代码语言:javascript
复制
Properties defaultProperties = new Properties();
defaultProperties.put("key1", "value1");
defaultProperties.put("key2", "value2");

Properties otherProperties = new Properties();
otherProperties.put("key2", "value3");

Properties finalProperties = new Properties(defaultProperties);

//
// I'd expect to have something like:
// 
// finalProperties.merge(otherProperties);
//
EN

回答 3

Stack Overflow用户

发布于 2010-01-05 17:24:02

假设您最终想要从文件中读取属性,我将在相同的属性对象中加载这两个文件,如下所示:

代码语言:javascript
复制
Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("default.properties"));
properties.load(getClass().getResourceAsStream("custom.properties"));
票数 19
EN

Stack Overflow用户

发布于 2010-01-05 16:50:13

是的,您是对的,只需调用putAll方法,就完成了。

票数 1
EN

Stack Overflow用户

发布于 2010-02-04 17:19:26

putAll():将指定映射中的所有映射复制到这个哈希表中。这些映射将替换此哈希表中当前在指定映射中的任何键的任何映射。

代码语言:javascript
复制
Properties merged = new Properties();
merged.putAll(properties1);
merged.putAll(properties2);

第2行完全没有效果。第一个文件中的任何属性都不会出现在合并的属性对象中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2004833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档