我在将此事件的输出转到文本文件时遇到问题,我认为这可能与“文件”值有关
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 :(得分: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);
}
}