文本文件的内容如下:
BEGIN
User: Zhao
BEGIN
User: 1) Qian
User: 2) Sun
BEGIN
...也就是说每段用BEGIN分割,我想把它转换成如下格式:BEGIN
User: Zhao
BEGIN
User: Qian,Sun
BEGIN
...
也就是说把每段的USER都合并成一行!不知道StreamReader怎样做到这种效果?谢谢!

解决方案 »

  1.   

    private void button1_Click(object sender, EventArgs e)
    {
        StreamReader vStreamReader = new StreamReader(
            @"C:\temp\temp.txt", Encoding.Default);
        string vText = string.Empty;
        string vLine;
        string vTemp = string.Empty;
        while ((vLine = vStreamReader.ReadLine()) != null)
        {
            if (vLine.IndexOf("User: ") == 0)
            {
                int i = vLine.IndexOf(")");
                if (i < 0) i = 6; else i += 2;
                vTemp += "," + vLine.Substring(i);
            }
            else
            {
                if (vTemp != string.Empty)
                {                vText += "User: " + vTemp.Substring(1) + "\r\n";
                    vTemp = string.Empty;
                }
                vText += vLine + "\r\n";
            }
        }
        if (vTemp != string.Empty)
        {
            vText += "User: " + vTemp.Substring(1) + "\r\n";
            vTemp = string.Empty;
        }
        vStreamReader.Close();    StreamWriter vStreamWriter = new StreamWriter(
             @"C:\temp\temp~.txt", false, Encoding.Default);
        vStreamWriter.Write(vText);
        vStreamWriter.Close();
    }