读取没有任何节的ini文件
本文关键字:ini 文件 任何节 读取 | 更新日期: 2023-09-27 18:27:50
我的ini文件没有任何节。它有以下数据
com.ibm.rcp.toolbox.admin/toolboxvisibleChild=falsecom.ibm.collaboration.retime.community/defaultAuthType=ST-DOMINO-SSOcom.ibm.collaboration.retime.brokerbridge/startBroker=falsecom.ibm.collaboration.realtime.webapi/startWebContainer=true
我想使用函数。
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,
string key,string def, StringBuilder retVal,
int size,string filePath);
我的问题
- 我不能在函数中给出节名,因为我没有
- 如果我将节名称设为null,它将不返回任何内容
- 我不想像ReadAllText那样使用暴力
使用File.ReadLines和一些LINQ实际上并没有那么糟糕:
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"];
这里有一个库,作者说它支持无节键。我自己没有试过这个图书馆
或者,你可以简单地编辑Ini文件,在顶部添加一个"标题"/节名,然后在阅读完成后将其删除。