2011-04-15 43 views
0

我在Java屬性文件格式的文件:反序列化name =文件中的值?

param1=value1 
param2=value2 
...... 
paramN=valueN 

什麼是反序列化在C#這樣的文件爲可讀的easisest方式? (List<string>很好)

我可以將實際文件表示更改爲任何內容,但它仍應包含一組name = value字符串。

+0

它似乎並不 「JavaScript的屬性文件」。如果它確實是.. {param = value1,param = value2},您可以使用「new JavaScriptSerializer()。Deserialize(myFileStringedContent);」 – 2011-04-15 21:19:00

+0

我在談論Java屬性文件,而不是Javascript http://en.wikipedia.org/wiki/.properties – javapowered 2011-04-16 08:01:11

回答

7
string[] lines = File.ReadAllLines(path); 
var dict = lines.Select(s => s.Split(new char[] { '=' })) 
       .ToDictionary(s => s[0], s => s[1]); 

它讀取所有的線到一個數組,分割索引0和值的所有行與鍵數組中的索引1,最後創建一個字典(鍵/值映射)。

您可以通過訪問值:

dict["param1"] //this will return value1 
+0

謝謝,我修改了代碼來修剪空格:s => s [0] .Trim(),s => s [1] .Trim() – javapowered 2011-04-16 09:56:45