TextReader.Read Method

Definition

Reads data from the text reader.

Overloads

Read()

Reads the next character from the text reader and advances the character position by one character.

Read(Span<Char>)

Reads the characters from the current reader and writes the data to the specified buffer.

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

Read()

Source:
TextReader.cs
Source:
TextReader.cs
Source:
TextReader.cs

Reads the next character from the text reader and advances the character position by one character.

C#
public virtual int Read();

Returns

The next character from the text reader, or -1 if no more characters are available. The default implementation returns -1.

Exceptions

An I/O error occurs.

Remarks

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.

See also

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Read(Span<Char>)

Source:
TextReader.cs
Source:
TextReader.cs
Source:
TextReader.cs

Reads the characters from the current reader and writes the data to the specified buffer.

C#
public virtual int Read(Span<char> buffer);

Parameters

buffer
Span<Char>

When this method returns, contains the specified span of characters replaced by the characters read from the current source.

Returns

The number of characters that have been read. The number will be less than or equal to the buffer length, 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.

Exceptions

buffer is null.

The number of characters read from the stream is larger than the length of the buffer.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

Read(Char[], Int32, Int32)

Source:
TextReader.cs
Source:
TextReader.cs
Source:
TextReader.cs

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

C#
public virtual int Read(char[] buffer, int index, int count);

Parameters

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

index
Int32

The position in buffer at which to begin writing.

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

Returns

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.

Exceptions

buffer is null.

The buffer length minus index is less than count.

index or count is negative.

An I/O error occurs.

Remarks

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.

See also

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0