Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

StreamWriter.StreamWriter(Stream) Constructor

Initializes a new instance of the StreamWriter class for the specified stream, using UTF-8 encoding and the default buffer size.

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

public StreamWriter (
	Stream stream
)
public StreamWriter (
	Stream stream
)
public function StreamWriter (
	stream : Stream
)
Not applicable.

Parameters

stream

The stream to write to.

Exception typeCondition

ArgumentException

stream is not writable.

ArgumentNullException

stream is a null reference (Nothing in Visual Basic).

This constructor creates a StreamWriter with UTF-8 encoding without a Byte-Order Mark (BOM), so its GetPreamble method returns an empty byte array. The BaseStream property is initialized using the stream parameter.

Caution noteCaution:

When you compile a set of characters with a particular cultural setting and retrieve those same characters with a different cultural setting, the characters might not be interpretable and could cause an exception to be thrown.

For a list of common I/O tasks, see Common I/O Tasks.

The following code example demonstrates the StreamWriter constructors.

public void CreateTextFile(string fileName, string textToAdd) 
{
    string logFile = DateTime.Now.ToShortDateString()
        .Replace(@"/",@"-").Replace(@"\",@"-") + ".log";
    
    FileStream fs = new FileStream(fileName,
        FileMode.CreateNew, FileAccess.Write, FileShare.None);
    
    StreamWriter swFromFile = new StreamWriter(logFile);
    swFromFile.Write(textToAdd);
    swFromFile.Flush();
    swFromFile.Close();

    StreamWriter swFromFileStream = new StreamWriter(fs);
    swFromFileStream.Write(textToAdd);
    swFromFileStream.Flush();
    swFromFileStream.Close();

    StreamWriter swFromFileStreamDefaultEnc = 
        new System.IO.StreamWriter(fs, 
        System.Text.Encoding.Default);
    swFromFileStreamDefaultEnc.Write(textToAdd);
    swFromFileStreamDefaultEnc.Flush();
    swFromFileStreamDefaultEnc.Close();

    StreamWriter swFromFileTrue = 
        new StreamWriter(fileName,true);
    swFromFileTrue.Write(textToAdd);
    swFromFileTrue.Flush();
    swFromFileTrue.Close();
    
    StreamWriter swFromFileTrueUTF8Buffer = 
        new StreamWriter(fileName, 
        true, System.Text.Encoding.UTF8,512);
    swFromFileTrueUTF8Buffer.Write(textToAdd);
    swFromFileTrueUTF8Buffer.Flush();
    swFromFileTrueUTF8Buffer.Close();

    StreamWriter swFromFileTrueUTF8 = 
        new StreamWriter(fileName, true,
        System.Text.Encoding.UTF8);
    swFromFileTrueUTF8.Write(textToAdd);
    swFromFileTrueUTF8.Flush();
    swFromFileTrueUTF8.Close();

    StreamWriter swFromFileStreamUTF8Buffer = 
        new StreamWriter(fs, System.Text.Encoding.UTF8, 512);
    swFromFileStreamUTF8Buffer.Write(textToAdd);
    swFromFileStreamUTF8Buffer.Flush();
    swFromFileStreamUTF8Buffer.Close();
}

public void CreateTextFile(String fileName, String textToAdd)
{
    String logFile = DateTime.get_Now().ToShortDateString().
        Replace("/", "-").Replace("\\", "-") + ".log";
    FileStream fs = new FileStream(fileName, FileMode.CreateNew, 
        FileAccess.Write, FileShare.None);
    StreamWriter swFromFile = new StreamWriter(logFile);
    swFromFile.Write(textToAdd);
    swFromFile.Flush();
    swFromFile.Close();
    StreamWriter swFromFileStream = new StreamWriter(fs);
    swFromFileStream.Write(textToAdd);
    swFromFileStream.Flush();
    swFromFileStream.Close();
    StreamWriter swFromFileStreamDefaultEnc = 
        new System.IO.StreamWriter(fs,System.Text.Encoding.get_Default());
    swFromFileStreamDefaultEnc.Write(textToAdd);
    swFromFileStreamDefaultEnc.Flush();
    swFromFileStreamDefaultEnc.Close();
    StreamWriter swFromFileTrue = new StreamWriter(fileName, true);
    swFromFileTrue.Write(textToAdd);
    swFromFileTrue.Flush();
    swFromFileTrue.Close();
    StreamWriter swFromFileTrueUTF8Buffer = new StreamWriter(fileName,
        true, System.Text.Encoding.get_UTF8(), 512);
    swFromFileTrueUTF8Buffer.Write(textToAdd);
    swFromFileTrueUTF8Buffer.Flush();
    swFromFileTrueUTF8Buffer.Close();
    StreamWriter swFromFileTrueUTF8 = new StreamWriter(fileName,
        true, System.Text.Encoding.get_UTF8());
    swFromFileTrueUTF8.Write(textToAdd);
    swFromFileTrueUTF8.Flush();
    swFromFileTrueUTF8.Close();
    StreamWriter swFromFileStreamUTF8Buffer = new StreamWriter(fs,
        System.Text.Encoding.get_UTF8(), 512);
    swFromFileStreamUTF8Buffer.Write(textToAdd);
    swFromFileStreamUTF8Buffer.Flush();
    swFromFileStreamUTF8Buffer.Close();
} //CreateTextFile

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2015 Microsoft