Rapid Opening and Closing System.IO.StreamWriter in C#

Posted by ccomet on Stack Overflow See other posts from Stack Overflow or by ccomet
Published on 2010-04-22T15:34:38Z Indexed on 2010/04/22 15:43 UTC
Read the original article Hit count: 170

Filed under:
|
|
|

Suppose you have a file that you are programmatically logging information into with regards to a process. Kinda like your typical debug Console.WriteLine, but due to the nature of the code you're testing, you don't have a console to write onto so you have to write it somewhere like a file. My current program uses System.IO.StreamWriter for this task.

My question is about the approach to using the StreamWriter. Is it better to open just one StreamWriter instance, do all of the writes, and close it when the entire process is done? Or is it a better idea to open a new StreamWriter instance to write a line into the file, then immediately close it, and do this for every time something needs to be written in? In the latter approach, this would probably be facilitated by a method that would do just that for a given message, rather than bloating the main process code with excessive amounts of lines. But having a method to aid in that implementation doesn't necessarily make it the better choice. Are there significant advantages to picking one approach or the other? Or are they functionally equivalent, leaving the choice on the shoulders of the programmer?

© Stack Overflow or respective owner

Related posts about c#

Related posts about iostream