This topic has not yet been rated - Rate this topic

StreamWriter Class

April 12, 2014

Implements a TextWriter for writing characters to a stream in a particular encoding.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)
public class StreamWriter : TextWriter

The StreamWriter type exposes the following members.

  NameDescription
Public methodStreamWriter(Stream)Initializes a new instance of the StreamWriter class for the specified stream, using UTF-8 encoding and the default buffer size.
Public methodStreamWriter(String)Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the default encoding and buffer size.
Public methodStreamWriter(Stream, Encoding)Initializes a new instance of the StreamWriter class for the specified stream, using the specified encoding and the default buffer size.
Public methodStreamWriter(String, Boolean)Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the default encoding and buffer size. If the file exists, it can be either overwritten or appended to. If the file does not exist, this constructor creates a new file.
Public methodStreamWriter(Stream, Encoding, Int32)Initializes a new instance of the StreamWriter class for the specified stream, using the specified encoding and buffer size.
Public methodStreamWriter(String, Boolean, Encoding)Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the specified encoding and default buffer size. If the file exists, it can be either overwritten or appended to. If the file does not exist, this constructor creates a new file.
Public methodStreamWriter(Stream, Encoding, Int32, Boolean)Initializes a new instance of the StreamWriter class for the specified stream, using the specified encoding, buffer size, and a value that specifies whether to leave the stream open.
Public methodStreamWriter(String, Boolean, Encoding, Int32)Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the specified encoding and buffer size. If the file exists, it can be either overwritten or appended to. If the file does not exist, this constructor creates a new file.
Top
  NameDescription
Public propertyAutoFlushGets or sets a value indicating whether the StreamWriter will flush its buffer to the underlying stream after every call to StreamWriter.Write.
Public propertyBaseStreamGets the underlying stream that interfaces with a backing store.
Public propertyEncodingGets the Encoding in which the output is written. (Overrides TextWriter.Encoding.)
Public propertyFormatProviderGets an object that controls formatting. (Inherited from TextWriter.)
Public propertyNewLineGets or sets the line terminator string used by the current TextWriter. (Inherited from TextWriter.)
Top
  NameDescription
Public methodCloseCloses the current StreamWriter object and the underlying stream. (Overrides TextWriter.Close().)
Public methodDispose()Releases all resources used by the TextWriter object. (Inherited from TextWriter.)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the StreamWriter and optionally releases the managed resources. (Overrides TextWriter.Dispose(Boolean).)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodFlushClears all buffers for the current writer and causes any buffered data to be written to the underlying stream. (Overrides TextWriter.Flush().)
Public methodFlushAsyncClears all buffers for this stream asynchronously and causes any buffered data to be written to the underlying device. (Overrides TextWriter.FlushAsync().)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodWrite(Boolean)Writes the text representation of a Boolean value to the text stream. (Inherited from TextWriter.)
Public methodWrite(Char)Writes a character to the stream. (Overrides TextWriter.Write(Char).)
Public methodWrite(Char[])Writes a character array to the stream. (Overrides TextWriter.Write(Char[]).)
Public methodWrite(Decimal)Writes the text representation of a decimal value to the text stream. (Inherited from TextWriter.)
Public methodWrite(Double)Writes the text representation of an 8-byte floating-point value to the text stream. (Inherited from TextWriter.)
Public methodWrite(Int32)Writes the text representation of a 4-byte signed integer to the text stream. (Inherited from TextWriter.)
Public methodWrite(Int64)Writes the text representation of an 8-byte signed integer to the text stream. (Inherited from TextWriter.)
Public methodWrite(Object)Writes the text representation of an object to the text stream by calling ToString on that object. (Inherited from TextWriter.)
Public methodWrite(Single)Writes the text representation of a 4-byte floating-point value to the text stream. (Inherited from TextWriter.)
Public methodWrite(String)Writes a string to the stream. (Overrides TextWriter.Write(String).)
Public methodWrite(UInt32)Writes the text representation of a 4-byte unsigned integer to the text stream. (Inherited from TextWriter.)
Public methodWrite(UInt64)Writes the text representation of an 8-byte unsigned integer to the text stream. (Inherited from TextWriter.)
Public methodWrite(String, Object)Writes out a formatted string, using the same semantics as String.Format. (Inherited from TextWriter.)
Public methodWrite(String, Object[])Writes out a formatted string, using the same semantics as String.Format. (Inherited from TextWriter.)
Public methodWrite(Char[], Int32, Int32)Writes a subarray of characters to the stream. (Overrides TextWriter.Write(Char[], Int32, Int32).)
Public methodWrite(String, Object, Object)Writes out a formatted string, using the same semantics as String.Format. (Inherited from TextWriter.)
Public methodWriteAsync(Char)Writes a character to the stream asynchronously. (Overrides TextWriter.WriteAsync(Char).)
Public methodWriteAsync(Char[])Writes a character array to the text string or stream asynchronously. (Inherited from TextWriter.)
Public methodWriteAsync(String)Writes a string to the stream asynchronously. (Overrides TextWriter.WriteAsync(String).)
Public methodWriteAsync(Char[], Int32, Int32)Writes a subarray of characters to the stream asynchronously. (Overrides TextWriter.WriteAsync(Char[], Int32, Int32).)
Public methodWriteLine()Writes a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(Boolean)Writes the text representation of a Boolean followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(Char)Writes a character followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(Char[])Writes an array of characters followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(Decimal)Writes the text representation of a decimal value followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(Double)Writes the text representation of a 8-byte floating-point value followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(Int32)Writes the text representation of a 4-byte signed integer followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(Int64)Writes the text representation of an 8-byte signed integer followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(Object)Writes the text representation of an object by calling ToString on this object, followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(Single)Writes the text representation of a 4-byte floating-point value followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(String)Writes a string followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(UInt32)Writes the text representation of a 4-byte unsigned integer followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(UInt64)Writes the text representation of an 8-byte unsigned integer followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(String, Object)Writes out a formatted string and a new line, using the same semantics as Format. (Inherited from TextWriter.)
Public methodWriteLine(String, Object[])Writes out a formatted string and a new line, using the same semantics as Format. (Inherited from TextWriter.)
Public methodWriteLine(Char[], Int32, Int32)Writes a subarray of characters followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodWriteLine(String, Object, Object)Writes out a formatted string and a new line, using the same semantics as Format. (Inherited from TextWriter.)
Public methodWriteLineAsync()Writes a line terminator asynchronously to the stream. (Overrides TextWriter.WriteLineAsync().)
Public methodWriteLineAsync(Char)Writes a character followed by a line terminator asynchronously to the stream. (Overrides TextWriter.WriteLineAsync(Char).)
Public methodWriteLineAsync(Char[])Writes an array of characters followed by a line terminator asynchronously to the text string or stream. (Inherited from TextWriter.)
Public methodWriteLineAsync(String)Writes a string followed by a line terminator asynchronously to the stream. (Overrides TextWriter.WriteLineAsync(String).)
Public methodWriteLineAsync(Char[], Int32, Int32)Writes a subarray of characters followed by a line terminator asynchronously to the stream. (Overrides TextWriter.WriteLineAsync(Char[], Int32, Int32).)
Top
  NameDescription
Protected fieldCoreNewLineStores the new line characters used for this TextWriter. (Inherited from TextWriter.)
Public fieldStatic memberNullProvides a StreamWriter with no backing store that can be written to, but not read from.
Top

StreamWriter is designed for character output in a particular Encoding, whereas classes derived from Stream are designed for byte input and output.

StreamWriter defaults to using an instance of UTF8Encoding unless specified otherwise. This instance of UTF8Encoding is constructed without a Byte-Order Mark (BOM), so its GetPreamble method returns an empty byte array. To create a StreamWriter using UTF-8 encoding and a BOM, consider using a constructor that specifies encoding, such as StreamWriter(String, Boolean, Encoding).

By default, a StreamWriter is not thread safe.

The following example uses a StreamWriter to save the contents of a text box control (named inputData) to a file in the user's My Documents folder. For an example of how to read the contents of the file, see the StreamReader class.


private void SaveFile_Click(object sender, RoutedEventArgs e)
{
	// fileLoc is a global string variable, set in StreamReader example.
	using (StreamWriter sw = new StreamWriter(fileLoc, false))
	{
		sw.WriteLine(inputData.Text);
		inputData.Text = "";
		inputData.Visibility = Visibility.Collapsed;
	}
	
}


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.