Read ini file which does not have any section?

你说的曾经没有我的故事 提交于 2019-12-07 14:33:46

问题


My ini file does not have any section. It has following data

com.ibm.rcp.toolbox.admin/toolboxvisibleChild=false
com.ibm.collaboration.realtime.community/defaultAuthType=ST-DOMINO-SSO
com.ibm.collaboration.realtime.brokerbridge/startBroker=false
com.ibm.collaboration.realtime.webapi/startWebContainer=true

I want to use function.

    [DllImport("kernel32")]
    private static extern int GetPrivateProfileString(string section,
             string key,string def, StringBuilder retVal,
        int size,string filePath);

My problems

  1. I cannot give section name in the function because I dont have any
  2. If I give section name null, it returns nothing
  3. I don't want to use brute force like ReadAllText

回答1:


Here's a library that the author says supports section-less keys. I myself have not tried this library.
Or, you could simply edit the Ini file and add in a "header"/section name right at the top, then delete it once you're done reading.




回答2:


Using File.ReadLines and some LINQ is actually not that bad:

var dict = File.ReadLines("config.txt")
               .Where(line => !string.IsNullOrWhiteSpace(line))
               .Select(line => line.Split(new char[] { '=' }, 2, 0))
               .ToDictionary(parts => parts[0], parts => parts[1]);

var result = dict["com.ibm.rcp.toolbox.admin/toolboxvisibleChild"];


来源:https://stackoverflow.com/questions/9686281/read-ini-file-which-does-not-have-any-section

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!