[Serializable] |
StreamWriter defaults to using an instance of UTF8Encoding unless specified otherwise. This instance of UTF8Encoding is constructed such that the Encoding.GetPreamble method returns the Unicode byte order mark written in UTF-8. The preamble of the encoding is added to a stream when you are not appending to an existing stream. This means any text file you create with StreamWriter will have three byte order marks at its beginning. UTF-8 handles all Unicode characters correctly and gives consistent results on localized versions of the operating system.
By default, a StreamWriter is not thread safe. See TextWriter.Synchronized for a thread-safe wrapper.
ctor #1 | Overloaded:.ctor(Stream stream) Initializes a new instance of the StreamWriter class for the specified stream, using the default encoding and buffer size. |
ctor #2 | Overloaded:.ctor(string path) Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the default encoding and buffer size. |
ctor #3 | Overloaded:.ctor(Stream stream, Encoding encoding) Initializes a new instance of the StreamWriter class for the specified stream, using the specified encoding and the default buffer size. |
ctor #4 | Overloaded:.ctor(string path, bool append) Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the default encoding and buffer size. If the file exists, it can be either overwritten or appended to. If the file does not exist, this constructor creates a new file. |
ctor #5 | Overloaded:.ctor(Stream stream, Encoding encoding, int bufferSize) Initializes a new instance of the StreamWriter class for the specified stream, using the specified encoding and buffer size. |
ctor #6 | Overloaded:.ctor(string path, bool append, Encoding encoding) Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the specified encoding and default buffer size. If the file exists, it can be either overwritten or appended to. If the file does not exist, this constructor creates a new file. |
ctor #7 | Overloaded:.ctor(string path, bool append, Encoding encoding, int bufferSize) Initializes a new instance of the StreamWriter class for the specified file on the specified path, using the specified encoding and buffer size. If the file exists, it can be either overwritten or appended to. If the file does not exist, this constructor creates a new file. |
Null | Provides a StreamWriter with no backing store that can be written to, but not read from. |
AutoFlush | Read-write Gets or sets a value indicating whether the StreamWriter will flush its buffer to the underlying stream after every call to Console.Write or Console.WriteLine. |
BaseStream | Read-only Gets the underlying stream that interfaces with a backing store. |
Encoding | Read-only Overridden: Gets the Encoding in which the output is written. |
FormatProvider (inherited from System.IO.TextWriter) |
Read-only See base class member description: System.IO.TextWriter.FormatProvider Gets an object that controls formatting. |
NewLine (inherited from System.IO.TextWriter) |
Read-write See base class member description: System.IO.TextWriter.NewLine Gets or sets the line terminator string used by the current TextWriter. |
Close | Overridden: Closes the current StreamWriter and the underlying stream. |
CreateObjRef (inherited from System.MarshalByRefObject) |
See base class member description: System.MarshalByRefObject.CreateObjRef Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. |
Equals (inherited from System.Object) |
See base class member description: System.Object.Equals Derived from System.Object, the primary base class for all objects. |
Flush | Overridden: Clears all buffers for the current writer and causes any buffered data to be written to the underlying stream. |
GetHashCode (inherited from System.Object) |
See base class member description: System.Object.GetHashCode Derived from System.Object, the primary base class for all objects. |
GetLifetimeService (inherited from System.MarshalByRefObject) |
See base class member description: System.MarshalByRefObject.GetLifetimeService Retrieves the current lifetime service object that controls the lifetime policy for this instance. |
GetType (inherited from System.Object) |
See base class member description: System.Object.GetType Derived from System.Object, the primary base class for all objects. |
InitializeLifetimeService (inherited from System.MarshalByRefObject) |
See base class member description: System.MarshalByRefObject.InitializeLifetimeService Obtains a lifetime service object to control the lifetime policy for this instance. |
ToString (inherited from System.Object) |
See base class member description: System.Object.ToString Derived from System.Object, the primary base class for all objects. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(bool value) See base class member description: System.IO.TextWriter.WriteWrites the text representation of a Boolean value to the text stream. |
Write | Overloaded:Write(char value) Overridden: Writes a character to the stream. |
Write | Overloaded:Write(char[] buffer) Overridden: Writes a character array to the stream. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(decimal value) See base class member description: System.IO.TextWriter.WriteWrites the text representation of a decimal value followed by a line terminator to the text stream. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(double value) See base class member description: System.IO.TextWriter.WriteWrites the text representation of an 8-byte floating-point value to the text stream. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(int value) See base class member description: System.IO.TextWriter.WriteWrites the text representation of a 4-byte signed integer to the text stream. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(long value) See base class member description: System.IO.TextWriter.WriteWrites the text representation of an 8-byte signed integer to the text stream. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(object value) See base class member description: System.IO.TextWriter.WriteWrites the text representation of an object to the text stream by calling ToString on that object. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(float value) See base class member description: System.IO.TextWriter.WriteWrites the text representation of a 4-byte floating-point value to the text stream. |
Write | Overloaded:Write(string value) Overridden: Writes a string to the stream. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(uint value) See base class member description: System.IO.TextWriter.WriteWrites the text representation of a 4-byte unsigned integer to the text stream. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(ulong value) See base class member description: System.IO.TextWriter.WriteWrites the text representation of an 8-byte unsigned integer to the text stream. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(string format, object arg0) See base class member description: System.IO.TextWriter.WriteWrites out a formatted string, using the same semantics as String.Format. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(string format, params object[] arg) See base class member description: System.IO.TextWriter.WriteWrites out a formatted string, using the same semantics as String.Format. |
Write | Overloaded:Write(char[] buffer, int index, int count) Overridden: Writes a subarray of characters to the stream. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(string format, object arg0, object arg1) See base class member description: System.IO.TextWriter.WriteWrites out a formatted string, using the same semantics as String.Format. |
Write (inherited from System.IO.TextWriter) |
Overloaded:Write(string format, object arg0, object arg1, object arg2) See base class member description: System.IO.TextWriter.WriteWrites out a formatted string, using the same semantics as String.Format. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine() See base class member description: System.IO.TextWriter.WriteLineWrites a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(bool value) See base class member description: System.IO.TextWriter.WriteLineWrites the text representation of a Boolean followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(char value) See base class member description: System.IO.TextWriter.WriteLineWrites a character followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(char[] buffer) See base class member description: System.IO.TextWriter.WriteLineWrites an array of characters followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(decimal value) See base class member description: System.IO.TextWriter.WriteLineWrites the text representation of a decimal value followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(double value) See base class member description: System.IO.TextWriter.WriteLineWrites the text representation of a 8-byte floating-point value followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(int value) See base class member description: System.IO.TextWriter.WriteLineWrites the text representation of a 4-byte signed integer followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(long value) See base class member description: System.IO.TextWriter.WriteLineWrites the text representation of an 8-byte signed integer followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(object value) See base class member description: System.IO.TextWriter.WriteLineWrites the text representation of an object by calling ToString on this object, followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(float value) See base class member description: System.IO.TextWriter.WriteLineWrites the text representation of a 4-byte floating-point value followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(string value) See base class member description: System.IO.TextWriter.WriteLineWrites a string followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(uint value) See base class member description: System.IO.TextWriter.WriteLineWrites the text representation of a 4-byte unsigned integer followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(ulong value) See base class member description: System.IO.TextWriter.WriteLineWrites the text representation of an 8-byte unsigned integer followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(string format, object arg0) See base class member description: System.IO.TextWriter.WriteLineWrites out a formatted string and a new line, using the same semantics as String.Format. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(string format, params object[] arg) See base class member description: System.IO.TextWriter.WriteLineWrites out a formatted string and a new line, using the same semantics as String.Format. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(char[] buffer, int index, int count) See base class member description: System.IO.TextWriter.WriteLineWrites a subarray of characters followed by a line terminator to the text stream. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(string format, object arg0, object arg1) See base class member description: System.IO.TextWriter.WriteLineWrites out a formatted string and a new line, using the same semantics as String.Format. |
WriteLine (inherited from System.IO.TextWriter) |
Overloaded:WriteLine(string format, object arg0, object arg1, object arg2) See base class member description: System.IO.TextWriter.WriteLineWrites out a formatted string and a new line, using the same semantics as String.Format. |
CoreNewLine (inherited from System.IO.TextWriter) |
See base class member description: System.IO.TextWriter.CoreNewLine Stores the new line characters used for this TextWriter. |
Dispose | Overridden: Releases the unmanaged resources used by the StreamWriter and optionally releases the managed resources. |
Finalize | Overridden: Frees the resources of the current StreamWriter before it is reclaimed by the garbage collector. |
MemberwiseClone (inherited from System.Object) |
See base class member description: System.Object.MemberwiseClone Derived from System.Object, the primary base class for all objects. |
Hierarchy:
public StreamWriter( |
stream
Exception Type | Condition |
---|---|
ArgumentException | stream is not writable. |
ArgumentNullException | stream is null. |
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 StreamWriter( |
path
Exception Type | Condition |
---|---|
UnauthorizedAccessException | Access is denied. |
ArgumentException | path is an empty string(""). |
ArgumentNullException | path is null. |
DirectoryNotFoundException | The directory to write to is not found. |
IOException | path includes an incorrect or invalid syntax for file name, directory name, or volume label syntax. |
SecurityException | The caller does not have the required permission. |
path can be a file name, including a file on a Universal Naming Convention (UNC) share.
path is not required to be a file stored on disk; it can be any part of a system that supports access via streams.
When you compile a set of characters with a particular cultural setting and retrieve those same characters with a different cultural setting, the characters may not be interpretable, and could cause an exception to be thrown.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(); }
stream
encoding
Exception Type | Condition |
---|---|
ArgumentNullException | stream or encoding is null. |
ArgumentException | stream is not writable. |
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(); }
path
append
Exception Type | Condition |
---|---|
UnauthorizedAccessException | Access is denied. |
ArgumentException | path is empty. |
ArgumentNullException | path is null. |
DirectoryNotFoundException | The directory to write to is not found. |
IOException | path includes an incorrect or invalid syntax for file name, directory name, or volume label syntax. |
SecurityException | The caller does not have the required permission. |
path can be a file name, including a file on a Universal Naming Convention (UNC) share.
path is not required to be a file stored on disk; it can be any part of a system that supports access via streams.
When you compile a set of characters with a particular cultural setting and retrieve those same characters with a different cultural setting, the characters may not be interpretable, and could cause an exception to be thrown.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(); }
stream
encoding
bufferSize
Exception Type | Condition |
---|---|
ArgumentNullException | stream or encoding is null. |
ArgumentOutOfRangeException | bufferSize is negative. |
ArgumentException | stream is not writable. |
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(); }
path
append
encoding
Exception Type | Condition |
---|---|
UnauthorizedAccessException | Access is denied. |
ArgumentException | path is empty. |
ArgumentNullException | path is null. |
DirectoryNotFoundException | The directory to write to is not found. |
IOException | path includes an incorrect or invalid syntax for file name, directory name, or volume label syntax. |
SecurityException | The caller does not have the required permission. |
path can be a file name, including a file on a Universal Naming Convention (UNC) share.
path is not required to be a file stored on disk; it can be any part of a system that supports access via streams.
When you compile a set of characters with a particular cultural setting and retrieve those same characters with a different cultural setting, the characters may not be interpretable, and could cause an exception to be thrown.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(); }
path
append
encoding
bufferSize
Exception Type | Condition |
---|---|
ArgumentException | path is an empty string (""). |
ArgumentNullException | path or encoding is null. |
ArgumentOutOfRangeException | bufferSize is negative. |
FileNotFoundException | The file cannot be found. |
IOException | path includes an incorrect or invalid syntax for file name, directory name, or volume label syntax. |
SecurityException | The caller does not have the required permission. |
UnauthorizedAccessException | Access is denied. |
PathTooLongException | The specified path, file name, or both are too long. After full qualification, each must be less than 256 characters. |
path can be a file name, including a file on a Universal Naming Convention (UNC) share.
path is not required to be a file stored on disk; it can be any part of a system that supports access via streams.
When you compile a set of characters with a particular cultural setting and retrieve those same characters with a different cultural setting, the characters may not be interpretable, and could cause an exception to be thrown.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(); }
protected char[] CoreNewLine;
|
public static readonly StreamWriter Null;
|
When the StreamWriter.Write methods are invoked on Null, the call simply returns, and no data is actually written to any backing store.
if(sw.Equals(StreamWriter.Null)) { sw.WriteLine("The store may be written to, but not read from."); }
public virtual bool AutoFlush {get; set;}
|
When AutoFlush is set to false, StreamWriter will do a limited amount of buffering, both internally and potentially in the encoder from the encoding you passed in. You may get better performance by setting AutoFlush to false, assuming that you always call Close (or at least Flush) when you're done writing with a StreamWriter.
For example, set AutoFlush to true when you are writing to a device where the user expects immediate feedback.Console.Out is one of these cases: The StreamWriter used internally for writing to Console flushes all its internal state except the encoder state after every call to Write or WriteLine.
// Gets or sets a value indicating whether the StreamWriter // will flush its buffer to the underlying stream after every // call to Console.Write or Console.WriteLine. sw.AutoFlush = true;
public virtual Stream BaseStream {get;}
|
FileStream fs = new FileStream("log.txt", FileMode.OpenOrCreate, FileAccess.Write); // Create a Char writer. StreamWriter w = new StreamWriter(fs); // Set the StreamWriter file pointer to the end. w.BaseStream.Seek(0, SeekOrigin.End);
public override Encoding Encoding {get;}
|
// Write out the current text encoding sw.WriteLine("Encoding: {0}", sw.Encoding.ToString());
public virtual IFormatProvider FormatProvider {get;}
|
public virtual string NewLine {get; set;}
|
The line terminator string is written to the text stream whenever one of the WriteLine methods is called. In order for text written by the TextWriter to be readable by a TextReader, only "\n" or "\r\n" should be used as terminator strings. If NewLine is set to null, the default newline character is used instead.
public override void Close(); |
This implementation of Close calls the StreamWriter.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.
Flushing the stream will not flush its underlying encoder unless you explicitly call StreamWriter.Flush or Close. Setting StreamWriter.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.
// close the file by closing the writer sw.Close();
requestedType
Exception Type | Condition |
---|---|
RemotingException | This instance is not a valid remoting object. |
protected override void Dispose( |
disposing
This method calls the dispose method of the base class, TextWriter.Dispose.
~StreamWriter(); |
public override void Flush(); |
Exception Type | Condition |
---|---|
ObjectDisposedException | The current writer is closed. |
IOException | An I/O error has occurred. |
Flushing the stream will not flush its underlying encoder unless you explicitly call Flush or StreamWriter.Close. Setting StreamWriter.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.
public virtual int GetHashCode(); |
public object GetLifetimeService(); |
public Type GetType(); |
public virtual object InitializeLifetimeService(); |
public class MyClass : MarshalByRefObject { public override Object InitializeLifetimeService() { ILease lease = (ILease)base.InitializeLifetimeService(); if (lease.CurrentState == LeaseState.Initial) { lease.InitialLeaseTime = TimeSpan.FromMinutes(1); lease.SponsorshipTimeout = TimeSpan.FromMinutes(2); lease.RenewOnCallTime = TimeSpan.FromSeconds(2); } return lease; } }
protected object MemberwiseClone(); |
public virtual string ToString(); |
public virtual void Write( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
This method outputs either Boolean.TrueString or Boolean.FalseString.
public override void Write( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs. |
ObjectDisposedException | StreamWriter.AutoFlush is true or the StreamWriter buffer is full, and current writer is closed. |
NotSupportedException | StreamWriter.AutoFlush is true or the StreamWriter buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the StreamWriter is at the end the stream. |
The specified character is written to the underlying stream unless the end of the stream is reached prematurely. If StreamWriter.AutoFlush is true, StreamWriter.Flush is invoked automatically.
public override void Write( |
buffer
Exception Type | Condition |
---|---|
IOException | An I/O error occurs. |
ObjectDisposedException | StreamWriter.AutoFlush is true or the StreamWriter buffer is full, and current writer is closed. |
NotSupportedException | StreamWriter.AutoFlush is true or the StreamWriter buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the StreamWriter is at the end the stream. |
The specified characters are written to the underlying stream unless the end of the stream is reached prematurely. If StreamWriter.AutoFlush is true, StreamWriter.Flush is invoked automatically.
This method might provide faster performance than Write (char[], int, int) because it has fewer arguments to check.
public virtual void Write( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs. |
public virtual void Write( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void Write( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void Write( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void Write( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
If the specified object is null, no action is taken and no exception is thrown. Otherwise, the object's ToString method is called to produce the string representation, and the resulting string is then written to the output stream.
public virtual void Write( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public override void Write( |
value
Exception Type | Condition |
---|---|
ObjectDisposedException | StreamWriter.AutoFlush is true or the StreamWriter buffer is full, and current writer is closed. |
NotSupportedException | StreamWriter.AutoFlush is true or the StreamWriter buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the StreamWriter is at the end the stream. |
IOException | An I/O error occurs. |
The specified String is written to the underlying stream unless the end of the stream is reached prematurely.
StreamWriter.Flush is invoked automatically if StreamWriter.AutoFlush is true. If value is null, no entries are written.
[CLSCompliant(false)] |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
[CLSCompliant(false)] |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
format
arg0
Exception Type | Condition |
---|---|
ArgumentNullException | format or arg0 is null. -or- An object referenced in the format string is null. |
IOException | An I/O error occurs, such as the stream being closed. |
FormatException | The format specification in format is invalid. -or- The number indicating an argument to be formatted is less than zero, or larger than or equal to the number of provided objects to be formatted . |
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
If a specified object is not referenced in the format string, it is ignored.
format
arg
Exception Type | Condition |
---|---|
ArgumentNullException | format or arg is null. |
IOException | An I/O error occurs, such as the stream being closed. |
FormatException | The format specification in format is invalid. -or- The number indicating an argument to be formatted is less than zero, or larger than or equal to arg.Length. |
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
If a specified object is not referenced in the format string, it is ignored.
buffer
index
count
Exception Type | Condition |
---|---|
ArgumentNullException | buffer is null. |
ArgumentException | The buffer length minus index is less than count. |
ArgumentOutOfRangeException | index or count is negative. |
IOException | An I/O error occurs. |
ObjectDisposedException | StreamWriter.AutoFlush is true or the StreamWriter buffer is full, and current writer is closed. |
NotSupportedException | StreamWriter.AutoFlush is true or the StreamWriter buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the StreamWriter is at the end the stream. |
The characters are read from buffer beginning at index and continuing through index + (count - 1). All characters are written to the underlying stream unless the end of the underlying stream is reached prematurely. StreamWriter.Flush is invoked automatically if StreamWriter.AutoFlush is true.
using System; using System.IO; public class SWBuff { public static void Main(String[] args) { FileStream sb = new FileStream("MyFile.txt", FileMode.OpenOrCreate); char[] b = {'a','b','c','d','e','f','g','h','i','j','k','l','m'}; StreamWriter sw = new StreamWriter(sb); sw.Write(b, 3, 8); sw.Close(); } } //This code writes "defghijk" to MyFile.txt.
format
arg0
arg1
Exception Type | Condition |
---|---|
ArgumentNullException | format or any of the arg parameters is null. -or- An object referenced in the format string is null. |
IOException | An I/O error occurs, such as the stream being closed. |
FormatException | The format specification in format is invalid. -or- The number indicating an argument to be formatted is less than zero, or larger than or equal to the number of provided objects to be formatted . |
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
If a specified object is not referenced in the format string, it is ignored.
format
arg0
arg1
arg2
Exception Type | Condition |
---|---|
ArgumentNullException | format or any of the arg parameters is null. -or- An object referenced in the format string is null. |
IOException | An I/O error occurs, such as the stream being closed. |
FormatException | The format specification in format is invalid. -or- The number indicating an argument to be formatted is less than zero, or larger than or equal to the number of provided objects to be formatted . |
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
If a specified object is not referenced in the format string, it is ignored.
public virtual void WriteLine(); |
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void WriteLine( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
This method outputs either Boolean.TrueString or Boolean.FalseString.
public virtual void WriteLine( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void WriteLine( |
buffer
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
This version of TextWriter.WriteLine is equivalent to (buffer) followed by ().
public virtual void WriteLine( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs. |
public virtual void WriteLine( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void WriteLine( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void WriteLine( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void WriteLine( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void WriteLine( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
public virtual void WriteLine( |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
The line terminator string is defined by the TextWriter.NewLine property.
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
[CLSCompliant(false)] |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
[CLSCompliant(false)] |
value
Exception Type | Condition |
---|---|
IOException | An I/O error occurs, such as the stream being closed. |
format
arg0
Exception Type | Condition |
---|---|
ArgumentNullException | A string or object is passed in as null. -or- An object referenced in the format string is null. |
IOException | An I/O error occurs, such as the stream being closed. |
FormatException | The format specification in format is invalid. -or- The number indicating an argument to be formatted is less than zero, or larger than or equal to the number of provided objects to be formatted . |
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
If a specified object is not referenced in the format string, it is ignored.
format
arg
Exception Type | Condition |
---|---|
ArgumentNullException | A string or object is passed in as null. |
IOException | An I/O error occurs, such as the stream being closed. |
FormatException | The format specification in format is invalid. -or- The number indicating an argument to be formatted is less than zero, or larger than or equal to arg.Length. |
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
If a specified object is not referenced in the format string, it is ignored.
buffer
index
count
Exception Type | Condition |
---|---|
ArgumentException | The buffer length minus index is less than count. |
ArgumentNullException | The buffer parameter is Null. |
ArgumentOutOfRangeException | index or count is negative. |
IOException | An I/O error occurs, such as the stream being closed. |
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
This version of TextWriter.WriteLine is equivalent to (buffer[i]) for each character in buffer between index and (index + count) followed by ().
format
arg0
arg1
Exception Type | Condition |
---|---|
ArgumentNullException | A string or object is passed in as null. -or- An object referenced in the format string is null. |
IOException | An I/O error occurs, such as the stream being closed. |
FormatException | The format specification in format is invalid. -or- The number indicating an argument to be formatted is less than zero, or larger than or equal to the number of provided objects to be formatted. |
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
If a specified object is not referenced in the format string, it is ignored.
format
arg0
arg1
arg2
Exception Type | Condition |
---|---|
ArgumentNullException | A string or object is passed in as null. -or- An object referenced in the format string is null. |
IOException | An I/O error occurs, such as the stream being closed. |
FormatException | The format specification in format is invalid. -or- The number indicating an argument to be formatted is less than zero, or larger than or equal to the number of provided objects to be formatted. |
This method does not search the specified String for individual newline characters(hexadecimal 0x000a) and replace them with TextWriter.NewLine.
If a specified object is not referenced in the format string, it is ignored.