Share via

FileStream.SetLength(Int64) Method


Sets the length of this stream to the given value.

 override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)



The new length of the stream.


An I/O error has occurred.

The stream does not support both writing and seeking.

Attempted to set the value parameter to less than 0.


This method overrides SetLength.

If the given value is less than the current length of the stream, the stream is truncated. In this scenario, if the current position is greater than the new length, the current position is moved to the last byte of the stream. If the given value is larger than the current length of the stream, the stream is expanded, and the current position remains the same. If the stream is expanded, the contents of the stream between the old and the new length are undefined on Windows, while on Linux, that space is filled with zeros.

A stream must support both writing and seeking for SetLength to work.


Use the CanWrite property to determine whether the current instance supports writing, and the CanSeek property to determine whether seeking is supported. For additional information, see CanWrite and CanSeek.

For a list of common file and directory operations, see Common I/O Tasks.

Applies to

See also