其中有一个文件profiles.ini,其中有一行包含某个文件夹的路径,例如:
Path=Profiles/6tk25599.default
如何读取文件并获得该值?
以下是文件的全部内容:
[General] StartWithLastProfile=1 [Profile0] Name=default IsRelative=1 Path=Profiles/6tk25599.default Default=1
结果,我想得到路径:Profiles/6tk25599.default
我试过这个方法:
foreach (var str in File.ReadLines("profiles.ini").Skip(6).Take(1))
{
Console.WriteLine(str); // получаю путь: Path=Profiles/6tk25599.default
}
你不尊重ini文件,是的,它们已经过时了,但它是我的,这也是一种人为发明的格式,与XML或JSON一样,曾经很流行,但是那里有什么,即使现在也经常还在那里。
因此,您需要按原样处理文件,为此,Windows 本身有特殊工具!创建类似这个源类的东西并按预期工作!:
接下来,我们只需要编写:
这是您需要做的:
UPD:从您的问题更新来看,字符串始终保持在同一位置。所以它更容易:
UPD2:正如@Andrey 指出的那样,最好使用该方法
File.ReadLines,以免将整个字符串集合保存在内存中。所以我正在更新我的答案。неизвестной从原始字符串中提取的选项:известной从原始字符串中提取的选项:正如@EvgeniyZ 在下一个答案中正确指出的那样,要解析专门格式的文件,您需要使用为此设计的工具,因为使用“手动”解析,您很容易忘记考虑一些细微差别。
如果我是你,我会连接一些库并使用它,例如,你可以使用ini-parser:
与使用 WinAPI 相比,这种方法的优势在于缺乏平台依赖性和更大的便利性。