2012-04-14 44 views
0

我正在嘗試使用snakeyaml函數來轉儲一個int,一個字符串和一個字符串[]。事情是我不知道如何編寫函數,以便可以插入信息。如何使用snakeyaml作爲返回內容的函數?

例如:

public void testDump() { 
    Map<String, Object> data = new HashMap<String, Object>(); 
    data.put("name", "Silenthand Olleander"); 
    data.put("race", "Human"); 
    data.put("traits", new String[] { "ONE_HAND", "ONE_EYE" }); 
    Yaml yaml = new Yaml(); 
    String output = yaml.dump(data); 
    System.out.println(output); 
} 

我需要的東西像"name""Silenthand Olleander"是可配置的。我也不知道這個功能到底是什麼。它是否創建一個新文件?因爲我需要它將一行添加到現有的strings.yml文件中。所以我想string.yml的格式是這樣的:

#String.yml file 
0 name_here The array of argument messages here. 
1 name_here Another array of argument messages here. 
2 name_here And again... I think you get the point. 
+0

@ T.J.Crowder固定。 – VinylScratch 2012-04-14 13:50:37

回答

0

正如代碼(最終)來自documentation,我假設你已經閱讀了。

呼叫yaml.dump()不創建文件,而是返回一個字符串(然後您可以put into a file)。根據文檔,dump方法將正確處理列表/數組。

要使HashTable中的鍵(例如「name」)可配置,可以將所需的值傳遞給填充表的函數。

根據你的問題,儘管看起來你需要一個關於如何在Java中進行編程的應用程序,然後再解決snakeyaml問題。

+0

我認爲它的Map data = new HashMap ();令我困惑。我知道有足夠的Java來完成我在這個YAML之外做的事情。我也沒有太多的閱讀文檔或其他人的代碼的經驗。 – VinylScratch 2012-04-14 14:01:27

+0

你應該養成閱讀文檔的習慣:它可以爲你節省麻煩,因爲這似乎是隨機出現的錯誤。至於HashMap,做什麼是你的困惑的根源? – Attila 2012-04-14 14:05:25