TextReader.Read Method (Char[], Int32, Int32)


Reads a specified maximum number of characters from the current reader and writes the data to a buffer, beginning at the specified index.

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

public virtual int Read(
	char[] buffer,
	int index,
	int count


Type: System.Char[]

When this method returns, contains the specified character array with the values between index and (index + count - 1) replaced by the characters read from the current source.

Type: System.Int32

The position in buffer at which to begin writing.

Type: System.Int32

The maximum number of characters to read. If the end of the reader is reached before the specified number of characters is read into the buffer, the method returns.

Return Value

Type: System.Int32

The number of characters that have been read. The number will be less than or equal to count, depending on whether the data is available within the reader. This method returns 0 (zero) if it is called when no more characters are left to read.

Exception Condition

buffer is null.


The buffer length minus index is less than count.


index or count is negative.


The TextReader is closed.


An I/O error occurs.

This method returns after either count characters are read or the end of the file is reached. ReadBlock is a blocking version of this method.

The TextReader class is an abstract class. Therefore, you do not instantiate it in your code. For an example of using the Read method, see the StreamReader.Read method.

Universal Windows Platform
Available since 8
.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