Peek Method

StreamReader.Peek Method ()


Returns the next available character but does not consume it.

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

public override int Peek()

Return Value

Type: System.Int32

An 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

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 TextReader.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 System;
using System.IO;

class Test 

    public static void Main() 
        string path = @"c:\temp\MyTest.txt";

            if (File.Exists(path)) 

            using (StreamWriter sw = new StreamWriter(path)) 
                sw.WriteLine("is some text");
                sw.WriteLine("to test");

            using (StreamReader sr = new StreamReader(path)) 

                while (sr.Peek() > -1) 
        catch (Exception e) 
            Console.WriteLine("The process failed: {0}", e.ToString());

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
© 2015 Microsoft