Export (0) Print
Expand All

StreamWriter.Close Method

Closes the current StreamWriter object and the underlying stream.

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

public override void Close()

ExceptionCondition
EncoderFallbackException

The current encoding does not support displaying half of a Unicode surrogate pair.

This method overrides Stream.Close.

This implementation of Close calls the Dispose method passing a true value.

You must call Close to ensure that all data is correctly written out to the underlying stream. Following a call to Close, any operations on the StreamWriter might raise exceptions. If there is insufficient space on the disk, calling Close will raise an exception.

Flushing the stream will not flush its underlying encoder unless you explicitly call Flush or Close. Setting AutoFlush to true means that data will be flushed from the buffer to the stream, but the encoder state will not be flushed. This allows the encoder to keep its state (partial characters) so that it can encode the next block of characters correctly. This scenario affects UTF8 and UTF7 where certain characters can only be encoded after the encoder receives the adjacent character or characters.

The following code example demonstrates the Close method.

// close the file by closing the writer
sw.Close();

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft