为什么ASP.NET应用程序中的Console.WriteLine不写入文件?

时间:2013-09-19 10:33:42

标签: c# asp.net console.writeline

我在以下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()写入文件。虽然我的文件已创建,但它是空的。

我在这里失踪的是什么?

3 个答案:

答案 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?