BufferedStream.Seek(Int64, SeekOrigin) Method

Definition

Sets the position within the current buffered stream.

public:
 override long Seek(long offset, System::IO::SeekOrigin origin);
public override long Seek (long offset, System.IO.SeekOrigin origin);
override this.Seek : int64 * System.IO.SeekOrigin -> int64
Public Overrides Function Seek (offset As Long, origin As SeekOrigin) As Long

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

Int64

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

See also