我实际上正在从控制台应用程序循环中读取几个.ini文件。 除了一个之外,所有这些都被正确阅读。
在下面找到我的代码;
var parser = new IniParser.FileIniDataParser();
string DBPath;
foreach (IniParser.KeyData i in dbList)
{
DBPath = "C:\\Program Files\Test\Database.ini";
IniData dbConn = parser.LoadFile(DBPath);
但是,我在最后一行遇到以下错误;
"Parsing error: Key name is not valid"
问题是所有.ini文件都相似,而其他所有文件都正常工作。 任何人都可以指导我为什么会出现这种错误,如何解决它。
在堆栈跟踪下面找到;
at IniParser.StreamIniDataParser.ReadData(StreamReader reader, Boolean relaxedIniFormat)
at IniParser.FileIniDataParser.LoadFile(String fileName, Boolean relaxedIniRead)
at IniParser.FileIniDataParser.LoadFile(String fileName)
at ReadIniFile.Program.Main(String[] args) in C:\Users\mkorumta\Desktop\ReadIniFile\ReadIniFile\Program.cs:line 33
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
修改
根据更多调查,我发现.ini文件由于密钥名[AAO-4 Data]
而引发错误,其中space
似乎是罪魁祸首。任何想法如何避免这个错误。请注意,ini文件是通用的,无法修改。我需要修改我的代码才能读取文件。
如何强制代码忽略空格?