将文本从c#输出到文本文件时出现问题

时间:2011-06-08 19:18:37

标签: c# .net windows

我在将此事件的输出转到文本文件时遇到问题,我认为这可能与“文件”值有关

        private void button1_Click(object sender, EventArgs e)
        {

            var file = File.AppendText(@"c:\output.txt");

            StreamReader sr = new StreamReader(@"c:\filename.txt");
            Regex reg = new Regex(@"\w\:(.(?!\:))+");
            List<string> parsedStrings = new List<string>();
            while (sr.EndOfStream)
            {
                parsedStrings.Add(reg.Match(sr.ReadLine()).Value);
            }

        }
    }
}

2 个答案:

答案 0 :(得分:1)

File.AppendText(@"c:\output.txt");返回StreamWriter。我不知道你在写这个。您只是将项目添加到List<String>。您似乎忘了拨打file.Write()电话。

在这种情况下,您不需要List<String>

你可以做到

while (sr.EndOfStream)
{
    file.WriteLine(reg.Match(sr.ReadLine()).Value);
}

或者如果您需要List<String>

然后你可以尝试

parsedStrings.ForEach(s => file.WriteLine(s));
在while循环之后

答案 1 :(得分:0)

尝试类似:

using (StreamWriter sw = File.AppendText(@"c:\output.txt")) 
{
    StreamReader sr = new StreamReader(@"c:\filename.txt");
    Regex reg = new Regex(@"\w\:(.(?!\:))+");

    while (sr.EndOfStream)
        {
            sw.WriteLine(reg.Match(sr.ReadLine()).Value);
        }
}