2016-06-07 106 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你去了,增加了字符集 –