在 .NET Compact FrameWork 下读取INI文件C#源码

  // 读取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;//返回默认值
        }
 
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值