StreamWriter Class

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

Inheritance Hierarchy

System.Object
  System.IO.TextWriter
    System.IO.StreamWriter

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
<ComVisibleAttribute(True)> _
Public Class StreamWriter _
    Inherits TextWriter
[ComVisibleAttribute(true)]
public class StreamWriter : TextWriter

The StreamWriter type exposes the following members.

Constructors

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 StreamWriter(Stream) Initializes a new instance of the StreamWriter class for the specified stream, using UTF-8 encoding and the default buffer size.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 StreamWriter(String) When it is called by trusted applications, initializes a new instance of the StreamWriter class for the specified file on the specified path, using the default encoding and buffer size.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 StreamWriter(Stream, Encoding) Initializes a new instance of the StreamWriter class for the specified stream, using the specified encoding and the default buffer size.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 StreamWriter(String, Boolean) When it is called by trusted applications, 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 methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 StreamWriter(Stream, Encoding, Int32) Initializes a new instance of the StreamWriter class for the specified stream, using the specified encoding and buffer size.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 StreamWriter(String, Boolean, Encoding) When it is called by trusted applications, 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 methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 StreamWriter(String, Boolean, Encoding, Int32) When it is called by trusted applications, 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

Properties

  Name Description
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 AutoFlush Gets or sets a value indicating whether the StreamWriter will flush its buffer to the underlying stream after every call to StreamWriter.Write.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 BaseStream When it is called by trusted applications, gets the underlying stream that interfaces with a backing store.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 Encoding When it is called by trusted applications, gets the Encoding in which the output is written. (Overrides TextWriter.Encoding.)
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 FormatProvider Gets an object that controls formatting. (Inherited from TextWriter.)
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 NewLine Gets or sets the line terminator string used by the current TextWriter. (Inherited from TextWriter.)

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Close When it is called by trusted applications, closes the current StreamWriter object and the underlying stream. (Overrides TextWriter.Close().)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Dispose() Releases all resources used by the TextWriter object. (Inherited from TextWriter.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Dispose(Boolean) Releases the unmanaged resources used by the StreamWriter and optionally releases the managed resources. (Overrides TextWriter.Dispose(Boolean).)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Flush Clears all buffers for the current writer and causes any buffered data to be written to the underlying stream. (Overrides TextWriter.Flush().)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetType Gets the Type of the current instance. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ToString Returns a string that represents the current object. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(Boolean) Writes the text representation of a Boolean value to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(Char) When it is called by trusted applications, writes a character to the stream. (Overrides TextWriter.Write(Char).)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(array<Char[]) When it is called by trusted applications, writes a character array to the stream. (Overrides TextWriter.Write(array<Char[]).)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(Decimal) Writes the text representation of a decimal value to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(Double) Writes the text representation of an 8-byte floating-point value to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(Int32) Writes the text representation of a 4-byte signed integer to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(Int64) Writes the text representation of an 8-byte signed integer to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(Object) Writes the text representation of an object to the text stream by calling ToString on that object. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(Single) Writes the text representation of a 4-byte floating-point value to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(String) When it is called by trusted applications, writes a string to the stream. (Overrides TextWriter.Write(String).)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(UInt32) Writes the text representation of a 4-byte unsigned integer to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(UInt64) Writes the text representation of an 8-byte unsigned integer to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(String, Object) Writes out a formatted string, using the same semantics as String.Format. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(String, array<Object[]) Writes out a formatted string, using the same semantics as String.Format. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(array<Char[], Int32, Int32) When it is called by trusted applications, writes a subarray of characters to the stream. (Overrides TextWriter.Write(array<Char[], Int32, Int32).)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Write(String, Object, Object) Writes out a formatted string, using the same semantics as String.Format. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine() Writes a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(Boolean) Writes the text representation of a Boolean followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(Char) Writes a character followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(array<Char[]) Writes an array of characters followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(Decimal) Writes the text representation of a decimal value followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(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 methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(Int32) Writes the text representation of a 4-byte signed integer followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(Int64) Writes the text representation of an 8-byte signed integer followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(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 methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(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 methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(String) Writes a string followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(UInt32) Writes the text representation of a 4-byte unsigned integer followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(UInt64) Writes the text representation of an 8-byte unsigned integer followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(String, Object) Writes out a formatted string and a new line, using the same semantics as Format. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(String, array<Object[]) Writes out a formatted string and a new line, using the same semantics as Format. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(array<Char[], Int32, Int32) Writes a subarray of characters followed by a line terminator to the text stream. (Inherited from TextWriter.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 WriteLine(String, Object, Object) Writes out a formatted string and a new line, using the same semantics as Format. (Inherited from TextWriter.)

Top

Fields

  Name Description
Protected fieldSupported by Silverlight for Windows PhoneSupported by Xbox 360 CoreNewLine Stores the new line characters used for this TextWriter. (Inherited from TextWriter.)
Public fieldStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360 Null Provides a StreamWriter with no backing store that can be written to, but not read from.

Top

Remarks

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.

Examples

The following example uses a StreamWriter in an trusted application that runs outside the browser 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.

For example code and information about how to create an application that runs outside the browser, see Out-of-Browser Support.

Private Sub SaveFile_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)

    If Application.Current.HasElevatedPermissions Then
    
        ' fileLoc is a global string variable, set in StreamReader example.
        Using sw As New StreamWriter(fileLoc, False)
            sw.WriteLine(inputData.Text)
            inputData.Text = ""
            inputData.Visibility = Visibility.Collapsed
        End Using
    End If
End Sub
private void SaveFile_Click(object sender, RoutedEventArgs e)
{

    if (Application.Current.HasElevatedPermissions)
    {
        // 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;
        }
    }
}

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Thread Safety

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