This class is used to write and deal with string data rather than files. It is derived class of TextWriter class. The string data written by StringWriter class is stored into StringBuilder.
The purpose of this class is to manipulate string and save result into the StringBuilder.
[SerializableAttribute] [ComVisibleAttribute(true)] public class StringWriter : TextWriter
Constructors | Description |
---|---|
StringWriter() | It is used to initialize a new instance of the StringWriter class. |
StringWriter(IFormatProvider) | It is used to initialize a new instance of the StringWriter class with the specified format control. |
StringWriter(StringBuilder) | It is used to initialize a new instance of the StringWriter class that writes to the specified StringBuilder. |
StringWriter(StringBuilder,?IFormatProvider) | It is used to initialize a new instance of the StringWriter class that writes to the specified StringBuilder and has the specified format provider. |
Property | Description |
---|---|
Encoding | It is used to get the Encoding in which the output is written. |
FormatProvider | It is used to get an object that controls formatting. |
NewLine | It is used to get or set the line terminator string used by the current TextWriter. |
Methods | Description |
---|---|
Close() | It is used to close the current StringWriter and the underlying stream. |
Dispose() | It is used to release all resources used by the TextWriter object. |
Equals(Object) | It is used to determine whether the specified object is equal to the current object or not. |
Finalize() | It allows an object to try to free resources and perform other cleanup operations. |
GetHashCode() | It is used to serve as the default hash function. |
GetStringBuilder() | It returns the underlying StringBuilder. |
ToString() | It returns a string containing the characters written to the current StringWriter. |
WriteAsync(String) | It is used to write a string to the current string asynchronously. |
Write(Boolean) | It is used to write the text representation of a Boolean value to the string. |
Write(String) | It is used to write a string to the current string. |
WriteLine(String) | It is used to write a string followed by a line terminator to the string or stream. |
WriteLineAsync(String) | Writes a string followed by a line terminator asynchronously to the current string.(Overrides TextWriter.WriteLineAsync(String).) |
In the following program, we are using StringWriter class to write string information to the StringBuilder class. The StringReader class is used to read written information to the StringBuilder.
using System; using System.IO; using System.Text; namespace CSharpProgram { class Program { static void Main(string[] args) { string text = "Hello, Welcome to the rookienerd \n" + "It is nice site. \n" + "It provides technical tutorials"; // Creating StringBuilder instance StringBuilder sb = new StringBuilder(); // Passing StringBuilder instance into StringWriter StringWriter writer = new StringWriter(sb); // Writing data using StringWriter writer.WriteLine(text); writer.Flush(); // Closing writer connection writer.Close(); // Creating StringReader instance and passing StringBuilder StringReader reader = new StringReader(sb.ToString()); // Reading data while (reader.Peek() > -1) { Console.WriteLine(reader.ReadLine()); } } } }