我为我的应用程序创建了一个设置文件,如下所示:
username: ProGamingHun
version: 1.0
maxmemory: 1GB
minmemory: 512MB
我想读取用户名,所以Dim username =在设置文件中:ProGamingHun,我该怎么做?用户名是unknow leght,因为ProGamingHun是一个测试文本。谢谢你的帮助。
答案 0 :(得分:3)
我不相信,您发布的代码作为答案,正确解析文件。相反,使用正则表达式会更好:
Dim lines() As String = IO.File.ReadAllLines(SettingsRoot + "\config.cfg")
Dim matches = lines.SelectMany(Function(line) Regex.Matches(line, "(.*): (.*)").Cast(Of Match))
Dim dictionary = matches.ToDictionary(Function(match) match.Groups(1).Value, Function(match) match.Groups(2).Value)
dictionary
现在将包含您设置的键值对。即使这不是您的原始问题,您也可以使用以下代码逐个显示在消息框中:
For Each setting In dictionary
MessageBox.Show(setting.Key & "=" & setting.Value)
Next
尽管如此,我建议您使用多种标准格式之一来保存设置。这样,您可以使用现有库来解析它们:
修改强>
要将字典中的值转换为单个变量,请使用处理缺失键(设置)的dictionary.TryGetValue
:
Dim username As String = Nothing
dictionary.TryGetValue("username", username)