StreamReader.Peek Method ()

 

Returns the next available character but does not consume it.

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

Public Overrides Function Peek As Integer

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
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 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.

Imports System
Imports System.IO
Imports System.Text

Public Class Test

    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        Try
            If File.Exists(path) Then
                File.Delete(path)
            End If

            Dim sw As StreamWriter = New StreamWriter(path)
            sw.WriteLine("This")
            sw.WriteLine("is some text")
            sw.WriteLine("to test")
            sw.WriteLine("Reading")
            sw.Close()

            Dim sr As StreamReader = New StreamReader(path)

            Do While sr.Peek() > -1
                Console.WriteLine(sr.ReadLine())
            Loop
            sr.Close()
        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

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