StreamReader::Peek Method
Returns the next available character but does not consume it.
Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
Return Value
Type: System::Int32An integer representing the next character to be read, or -1 if there are no characters to be read or if the stream does not support seeking.
| Exception | Condition |
|---|---|
| IOException | An I/O error occurs. |
The Peek method returns an integer value in order to determine whether the end of the file, or another error has occurred. This allows a user to first check if the returned value is -1 before casting it to a Char type.
This method overrides Peek.
The current position of the StreamReader object is not changed by Peek.
The following code example reads lines from a file until the end of the file is reached.
using namespace System; using namespace System::IO; int main() { String^ path = "c:\\temp\\MyTest.txt"; try { if ( File::Exists( path ) ) { File::Delete( path ); } StreamWriter^ sw = gcnew StreamWriter( path ); try { sw->WriteLine( "This" ); sw->WriteLine( "is some text" ); sw->WriteLine( "to test" ); sw->WriteLine( "Reading" ); } finally { delete sw; } StreamReader^ sr = gcnew StreamReader( path ); try { while ( sr->Peek() > -1 ) { Console::WriteLine( sr->ReadLine() ); } } finally { delete sr; } } catch ( Exception^ e ) { Console::WriteLine( "The process failed: {0}", e ); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.