StreamReader Constructor (Stream, Boolean)

Initializes a new instance of the StreamReader class for the specified stream, using the specified byte order mark detection option.

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

public StreamReader(
	Stream stream,
	bool detectEncodingFromByteOrderMarks


Type: System.IO.Stream
The stream to be read.
Type: System.Boolean
true to look for byte order marks at the beginning of the file; otherwise, false to use UTF8 encoding.


stream does not support reading.


stream is null.

This constructor initializes the encoding to UTF8Encoding, the BaseStream property using the stream parameter, and the internal buffer to the default size.

The StreamReader object calls Stream.Dispose() on the provided Stream object when StreamReader.Dispose is called.

If the detectEncodingFromByteOrderMarks parameter is true, the StreamReader detects the encoding by looking at the first three bytes of the stream. It automatically recognizes UTF-8, little-endian Unicode, and big-endian Unicode text if the file starts with the appropriate byte order marks. If the detectEncodingFromByteOrderMarks parameter is false, the StreamReader object automatically use UTF-8. See the Encoding.GetPreamble method for more information.


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

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