BufferedStream.Seek(Int64, SeekOrigin) Method

Definition

Sets the position within the current buffered stream.

C#
public override long Seek(long offset, System.IO.SeekOrigin origin);

Parameters

offset
Int64

A byte offset relative to origin.

origin
SeekOrigin

A value of type SeekOrigin indicating the reference point from which to obtain the new position.

Returns

The new position within the current buffered stream.

Exceptions

The stream is not open or is null.

The stream does not support seeking.

Methods were called after the stream was closed.

Remarks

If offset is negative, the new position will precede the position specified by origin by the number of bytes specified by offset. If offset is 0, the new position will be the position specified by origin. If offset is positive, the new position will follow the position specified by origin by the number of bytes specified by offset.

When a BufferedStream object is the base stream for a StreamReader object, calling the Seek method can cause the position of the stream to no longer match the position of the internal buffer in the reader. To reset the internal buffer, call the StreamReader.DiscardBufferedData method; however, this method slows performance and should be called only when absolutely necessary.

Seeking to any location beyond the length of the stream is supported.

Applies to

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, 10
.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.5, 1.6, 2.0, 2.1

See also