FileStream vs/differences StreamWriter?

What'sUP picture What'sUP · Feb 10, 2011 · Viewed 63.7k times · Source

Question:

What is different between FileStream and StreamWriter in .Net?

What context are you supposed to use it? What is their advantage and disadvantage?

Is it possible to combine these two into one?

Answer

Henk Holterman picture Henk Holterman · Feb 11, 2011

What is different between FileStream and StreamWriter in dotnet?

A FileStream is a Stream. Like all Streams it only deals with byte[] data.

A StreamWriter : TextWriter, is a Stream-decorator. A TextWriter encodes Text data like string or char to byte[] and then writes it to the linked Stream.

What context are you supposed to use it? What is their advantage and disadvantage?

You use a bare FileStream when you have byte[] data. You add a StreamWriter when you want to write text. Use a Formatter or a Serializer to write more complex data.

Is it possible to combine these two into one?

Yes. You always need a Stream to create a StreamWriter. The helper method System.IO.File.CreateText("path") will create them in combination and then you only have to Dispose() the outer writer.