This documentation is archived and is not being maintained.

BufferedStream.SetLength Method

Sets the length of the buffered stream.

[Visual Basic]
Overrides Public Sub SetLength( _
   ByVal value As Long _
public override void SetLength(
 long value
public: void SetLength(
 __int64 value
public override function SetLength(
   value : long


An integer indicating the desired length of the current buffered stream in bytes.


Exception Type Condition
ArgumentOutOfRangeException value is negative.
IOException The stream is not open or is a null reference (Nothing in Visual Basic).
NotSupportedException The stream does not support both writing and seeking.
ObjectDisposedException Methods were called after the stream was closed.


For an example of creating a file and writing text to a file, see Writing Text to a File. For an example of reading text from a file, see Reading Text from a File. For an example of reading from and writing to a binary file, see Reading and Writing to a Newly Created Data File.

The buffer is flushed before setting the length of the underlying data source or repository. If the specified value is less than the current length of the buffered stream, the buffered stream is truncated. If the specified value is larger than the current length of the buffered stream, the buffered stream is expanded. If the buffered stream is expanded, the contents of the buffered stream between the old and the new lengths are not defined.

SetLength flushes any buffered writes if necessary.

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


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

BufferedStream Class | BufferedStream Members | System.IO Namespace | Seek | Working with I/O | Reading Text from a File | Writing Text to a File