我在以下Q& A Where does Console.WriteLine go in ASP.NET?的基础上进行了一些试验。
我试过的代码如下:
var fs = new System.IO.FileStream(@"D:\log.txt", System.IO.FileMode.Append);
var tr = new System.IO.StreamWriter(fs);
Console.SetOut(tr);
Console.WriteLine("My Default Debugging");
fs.Close();
我将FileStream fs
设置为StreamWriter tr
,然后通过调用Console.Out
将其设置为Console.SetOut()
。所以,我希望它可以通过Console.WriteLine()
写入文件。虽然我的文件已创建,但它是空的。
我在这里失踪的是什么?
答案 0 :(得分:1)
尝试tr.WriteLine("string");
。
答案 1 :(得分:0)
因为Console.WriteLine()
不这样做吗?
写入指定数据,后跟当前行终止符, 到标准输出流。
答案 2 :(得分:0)
var fs = new System.IO.FileStream(@"D:\log.txt", System.IO.FileMode.Append);
var tr = new System.IO.StreamWriter(fs);
Console.SetOut(tr);
Console.WriteLine("My Default Debugging");
tr.Close();
fs.Close();
也许是因为你在关闭FileStream之前没有关闭StreamWriter?