使用值初始化Properties对象

时间:2016-06-07 23:58:06

标签: java properties

使用值初始化Properties对象的最短方法是什么,以替换下面的代码?

Properties properties = new Properties();
properties.put("key1", "value1");
properties.put("key2", "value2");
properties.put("key3", "value3");

我在创建单元测试时遇到了这个问题,所以代码不需要处理很多条目,3-5就足够了。从文件加载对于许多用例来说是一个很好的解决方案,但需要一些易于使用的解决方案,这需要最小的努力。

2 个答案:

答案 0 :(得分:1)

虽然我认为您在问题中使用的properties.put方法只需要很少的工作量,但如果这看起来更容易,可以使用以下内容(我们将它用于我们从某些文件中粘贴key = value对的情况, intellij在粘贴多行时添加\ n)

    Properties properties = new Properties();
    properties.load(new ByteArrayInputStream("key1=value1\nkey2=value2\nkey3=value3".getBytes(StandardCharsets.ISO_8859_1)));
使用Charset ISO_8859

编辑,感谢dnault指出它

答案 1 :(得分:1)

我意识到这是一个旧帖子,但它是在我寻找其他东西的时候搜索到的,所以我想如果它出现在我身上,它可能会出现在真正在寻找的其他人身上它。正如之前的一位发帖人所说,Java 是一种冗长的语言,但有一些方法可以在不降低可理解性或增加复杂性的情况下使其不那么冗长。这不是一个“单行”,但相当容易阅读/理解。

import java.util.Map;
import static java.util.Map.entry;
...
Properties props = new Properties();
props.putAll(Map.ofEntry(
    entry("key1", value1),
    entry("key2", value2), 
    entry("key3", value3)
));