TextWriter
This C# class
creates text output. It is used to implement other file classes in the base class library. You can also use it to implement file IO logic.
StreamWriter
TextWriter
is used to implement StreamWriter
. It lacks helpful features, but is still useful when we want to use a specific text encoding.
First here we look at the TextWriter
class
, which we instantiate from the result of the File.CreateText
static
method in the System.IO
namespace.
TextWriter
class
is easiest to use reliably when you wrap it in a using statement and a resource acquisition statement.WriteLine
method and the Write method on the TextWriter
instance we allocated.Write()
method does not add the newline sequence. It just writes the character data specified.NewLine
property. By default, it will be set to the platform's default newline sequence.using System.IO; class Program { static void Main() { // // Create a new TextWriter in the resource acquisition statement. // using (TextWriter writer = File.CreateText("C:\\perl.txt")) { // // Write one line. // writer.WriteLine("First line"); // // Write two strings. // writer.Write("A "); writer.Write("B "); // // Write the default newline. // writer.Write(writer.NewLine); } } }First line A B
StreamWriter
The StreamWriter
class
inherits from TextWriter
. The TextWriter
class
is an abstract
base class
, which means it provides functionality for StreamWriter
.
StreamWriter
represents writing in a particular encoding.StreamWriter
is more appropriate because it manages the encoding.We looked at the TextWriter
class
and related it to the StreamWriter
class
by noting that it is used as a base class
. TextWriter
does not handle encodings automatically.