Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
213 views
in Technique[技术] by (71.8m points)

c# - StreamWriter.Write doesn't write to file; no exception thrown

My code in C# (asp.net MVC)

StreamWriter tw = new StreamWriter("C:\mycode\myapp\logs\log.txt");

// write a line of text to the file
tw.Write("test");

The file is created but is empty. No exception is thrown. I have never seen this before and I am stuck here; I just need to write some debugging output.

Please advise.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

StreamWriter is buffered by default, meaning it won't output until it receives a Flush() or Close() call.

You can change that by setting the AutoFlush property, if you want to. Otherwise, just do:

StreamWriter tw = new StreamWriter("C:\mycode\myapp\logs\log.txt");

// write a line of text to the file
tw.Write("test");
tw.Close();  //or tw.Flush();

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...