FileStream::Position Property

Gets or sets the current position of this stream.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

public:
virtual property long long Position {
	long long get () override;
	void set (long long value) override;
}

Property Value

Type: System::Int64
The current position of this stream.

ExceptionCondition
NotSupportedException

The stream does not support seeking.

IOException

An I/O error occurred.

- or -

The position was set to a very large value beyond the end of the stream in Windows 98 or earlier.

ArgumentOutOfRangeException

Attempted to set the position to a negative value.

EndOfStreamException

Attempted seeking past the end of a stream that does not support this.

Seeking to any location beyond the length of the stream is supported. When you seek beyond the length of the file, the file size grows. In Microsoft Windows NT and newer, any data added to the end of the file is set to zero. In Microsoft Windows 98 or earlier, any data added to the end of the file is not set to zero, which means that previously deleted data is visible to the stream. Setting the position of the stream to a large value beyond the end of the stream in Windows 98 or earlier may result in an exception being raised.

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

The following example uses the Length and Position properties to check for an end-of-file condition.

if ( s->Length == s->Position )
{
   Console::WriteLine( "End of file has been reached." );
}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft