I was doing some trials on the basis of the following Q&A: Where does Console.WriteLine go in ASP.NET?.

The code I tried goes like below:

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

Here I am setting the FileStream fs to StreamWriter tr and in turn setting it as Console.Out by calling Console.SetOut(). So, by that I am expecting it to write to the file by Console.WriteLine(). Though my file gets created, it is empty.

What can be the thing I am missing here?

有帮助吗?

解决方案 2

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

Maybe it's because you didn't close the StreamWriter before you closed the FileStream?

其他提示

try tr.WriteLine("string"); instead.

Becuase Console.WriteLine() doesn't do that?

Writes the specified data, followed by the current line terminator, to the standard output stream.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top