2016-06-07 113 views
0

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

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

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

+0

什么是错的,你有什么? –

+0

@ScaryWombat没什么,只是想也许这可以用一行来完成。 –

+1

更重要的是编码易于理解和维护 –

回答

0

虽然我认为你的问题中的properties.put方法只需要很少的努力,但如果看起来更简单,我们可以使用以下方法(我们将它用于从某些文件粘贴key = value对的情况,intellij粘贴多行)

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

编辑时添加\ N使用字符集ISO_8859,感谢dnault指点出来

+0

如果你真的必须这样做,至少在调用getBytes()时指定一个字符集。 – dnault

+0

@dnault你去了,增加了字符集 –