class Program
    {
        static void Main(string[] args)
        {
            int count = 0;//计算节点数
            int j = 0;//节点数值下标
            string[] lines = System.IO.File.ReadAllLines(@"d:xxx.ini", Encoding.Default);
            foreach (string item in lines)
            {
                Console.WriteLine(item);
                if (item.StartsWith("[") && item.EndsWith("]"))
                {
                    count++;
                }
            }
            string[] nodeName = new string[count];

            #region 确定节点数组
            for (int i = 0; i < lines.Length; i++)
            {
                if (lines[i].StartsWith("[") && lines[i].EndsWith("]"))
                {
                    while (j < count)
                    {
                        nodeName[j] = lines[i];
                        j++;
                        break;
                    }
                }
            }
            #endregion
            for (int m = 0; m < lines.Length; m++)
            {
                for (int i = 0; i < count; i++)
                {
                    if (lines[m].Contains(nodeName[i]))//某个节点所在的行
                    {
                        for (int n = m + 1; n < lines.Length; n++)
                        {
                            //读到下一个节点跳出
                            if ((i + 1) < count && lines[n].Contains(nodeName[i + 1]))//位置不能颠倒
                            {
                                break;
                            }
                            string str1 = lines[n].Substring(0, lines[n].IndexOf("="));
                            string str2 = lines[n].Substring(lines[n].IndexOf("=") + 1);
                            string str3 = "(" + nodeName[i] + ",(" + str1 + "," + str2 + "))";
                            Console.WriteLine(str3);
                        }
                    }
                }
            }
            Console.ReadKey();
        }
    }

posted on 2011-08-10 17:08  易成波  阅读(364)  评论(0编辑  收藏  举报