// 读取INI文件; /**/ /// <summary> /// /// </summary> /// <param name="ApplicationName">段名</param> /// <param name="KeyName">键名</param> /// <param name="Default">如果读取失败的默认返回值</param> /// <param name="FileName">文件路径</param> /// <returns></returns> private string GetPrivateProfileString( string ApplicationName, string KeyName, string Default, string FileName) ... { string[] iniItems = new string[0]; string iniLines; string iniLine; int i, j; try ...{ //读取INI文件; System.IO.StreamReader iniFile = new System.IO.StreamReader(FileName, System.Text.Encoding.Default); iniLines = iniFile.ReadToEnd(); iniFile.Close(); } catch ...{ return Default; } //以回车符分割,得到每一行 iniItems = iniLines.Split(' '); //遍历每一行 for (i = 0; i < iniItems.GetLength(0); i++) ...{ //找到匹配值 if (iniItems[i].Trim().ToUpper() == '[' + ApplicationName.Trim().ToUpper() + ']') ...{ //从下一行开始搜索 for (j = i + 1; j < iniItems.GetLength(0); j++) ...{ iniLine = iniItems[j].Trim(); if (iniLine.Length > 0) ...{ //如果找到了另一个段,那么就越段了,则返回默认值 if (iniLine[0] == '[' && iniLine[iniLine.Length - 1] == ']') return Default; } //去掉所有空格 iniLine = iniItems[j].TrimStart().Replace(" ", ""); if (iniLine.Substring(0, Math.Min(KeyName.Length + 1, iniLine.Length)).ToUpper() == KeyName.ToUpper() + "=") ...{ //如果找到了Key匹配 return iniItems[j].Substring(iniItems[j].IndexOf('=') + 1); } } return Default;//没有找到key匹配的,则返回默认值 } } return Default;//返回默认值 }