2011-06-08 83 views
0

我有收到这个事件的输出去到一个文本文件,我想它可能是做的“文件”问题的价值问题输出文本到文本文件从C#

 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); 
      } 

     } 
    } 
} 
+0

你有,实际上是使用“文件”的任何代码变量输出任何文字?我看到读入输入文件的代码,但没有相应的写入输出文件。 – 2011-06-08 19:22:29

+0

@Matt Hamsmith编号:/,我需要输出列表到一个文件 – James 2011-06-08 19:24:11

回答

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>

,那么你可以在while循环后尝试

parsedStrings.ForEach(s => file.WriteLine(s)); 

+0

我想在列表中输出这些项目到一个文件 – James 2011-06-08 19:23:02

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); 
     } 
}