StreamReader Constructor (String^, Boolean)
Initializes a new instance of the StreamReader class for the specified file name, with the specified byte order mark detection option.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- path
-
Type:
System::String^
The complete file path to be read.
- detectEncodingFromByteOrderMarks
-
Type:
System::Boolean
Indicates whether to look for byte order marks at the beginning of the file.
| Exception | Condition |
|---|---|
| ArgumentException | path is an empty string (""). |
| ArgumentNullException | path is null. |
| FileNotFoundException | The file cannot be found. |
| DirectoryNotFoundException | The specified path is invalid, such as being on an unmapped drive. |
| IOException | path includes an incorrect or invalid syntax for file name, directory name, or volume label. |
This constructor initializes the encoding to UTF8Encoding, the BaseStream property using the stream parameter, and the internal buffer size to 1024 bytes.
The path parameter can be a file name, including a file on a Universal Naming Convention (UNC) share.
The path parameter is not required to be a file stored on disk; it can be any part of a system that supports access using streams.
The detectEncodingFromByteOrderMarks parameter 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. Otherwise, the UTF8Encoding is used. See the Encoding::GetPreamble method for more information.
For a list of common I/O tasks, see Common I-O Tasks.
The following code example demonstrates this StreamReader constructor.
void getNewStreamReader() { //Get a new StreamReader in ASCII format from a //file using a buffer and byte order mark detection StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 ); //Get a new StreamReader in ASCII format from a //file with byte order mark detection = false StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false ); //Get a new StreamReader in ASCII format from a file StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII ); //Get a new StreamReader from a //file with byte order mark detection = false StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false ); //Get a new StreamReader from a file StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" ); //Get a new StreamReader in ASCII format from a //FileStream with byte order mark detection = false and a buffer StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 ); //Get a new StreamReader in ASCII format from a //FileStream with byte order mark detection = false StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false ); //Get a new StreamReader in ASCII format from a FileStream StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII ); //Get a new StreamReader from a //FileStream with byte order mark detection = false StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false ); //Get a new StreamReader from a FileStream StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) ); }
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0