TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

<< Back to C-SHARP

C# StreamWriter Examples

Use StreamWriter from System.IO to write text files. Place StreamWriter in using statements.
StreamWriter. Upon a stone tablet, text is written. StreamWriter, a helpful class, writes text data and files. It enables easy and efficient text output.StreamReaderFile
Using statements. StreamWriter is best placed in a using-statement. This ensures it is removed from memory when no longer needed. The syntax is easy to use once it is familiar.
First example. We first declare and initialize a new StreamWriter instance in a using construct. Please note how the System.IO namespace is included at the top of the file.Namespace

Using: This keyword means different things in different places. Near StreamWriter, it controls low-level resource usage.

Using

File: A new StreamWriter is initialized with the file name "important.txt". Three writes are done using StreamWriter.

Write, WriteLine: The Write method does not append a newline. The WriteLine methods append a newline "\r\n" at each call.

C# program that uses StreamWriter using System.IO; class Program { static void Main() { using (StreamWriter writer = new StreamWriter("important.txt")) { writer.Write("Word "); writer.WriteLine("word 2"); writer.WriteLine("Line"); } } } Output (Text is in "important.txt" file.) Word word 2 Line
Append text. It is easy to append text to a file with StreamWriter. The file is not erased, but just reopened and new text is added to the end. We also see how you can specify a full path.

New: A new StreamWriter is initialized and it opens "C:\\log.txt" for appending. The second argument (true) specifies an append operation.

Append: The first line is appended to the file. If it is empty, the file begins with that string.

Next: The second using construct reopens the "C:\\log.txt" file and then appends another string to it.

Note: If for some reason the file was deleted, the line will be added just the same.

C# program that appends to file using System.IO; class Program { static void Main() { // Write single line to new file. using (StreamWriter writer = new StreamWriter("C:\\log.txt", true)) { writer.WriteLine("Important data line 1"); } // Append line to the file. using (StreamWriter writer = new StreamWriter("C:\\log.txt", true)) { writer.WriteLine("Line 2"); } } } Output (File "log.txt" contains these lines.) Important data line 1 Line 2
Loop. Often we need to write out an array or List of strings. A good solution is to put the loop inside the using statement. This avoids creating more than one file handle in Windows.For

Var: We use var, which makes the syntax shorter but equivalent in functionality. The file "loop.txt" is opened only once for writing.

Var

Format: The format string can be easily used with Write. You have to specify a substitution marker {0} in the first parameter.

string.Format
C# program that loops with StreamWriter using System.IO; class Program { static void Main() { // Use var type which is shorter. using (var writer = new StreamWriter("loop.txt")) { // Loop through ten numbers. for (int i = 0; i < 10; i++) { // Write format string to file. writer.Write("{0:0.0} ", i); } } } } Output (These numbers are in the file "loop.txt".) 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0
String interpolation. This syntax can be used to directly insert variables into a string before it is written with Write or WriteLine. We use the "$" char before the string.

Note: String interpolation is about as fast as the format syntax shown above. It is a good alternative.

String Interpolation
C# program that uses StreamWriter, string interpolation using System.IO; class Program { static void Main() { using (StreamWriter writer = new StreamWriter("C:\\programs\\file.txt")) { string animal = "cat"; int size = 12; // Use string interpolation syntax to make code clearer. writer.WriteLine($"The {animal} is {size} pounds."); } } } Output The cat is 12 pounds.
Encodings. StreamWriter accepts a parameter that specifies encoding. This is useful in some globalization contexts. Many projects will not need specialized encodings.
Using. The using statements in the examples open and prepare the files. At the end of the statements they close and dispose of the resources.

Tip: If your program does lots of writes, it will manage system resources correctly if you use using.

Early returns. With using, if your program returns in the middle of a using statement, the resources will still be disposed. This statement is implemented with a finally statement.

Tip: Finally statements always run—they are stubborn about that. They will not run only in an Environment.Exit call or a crash.

Finally
Dispose, Close. You can call Dispose and Close on your StreamWriter. You only should do this if you are not using the "using" keyword. This is a more error-prone style.
A summary. With the using-statement and StreamWriter, we wrote text files. StreamWriter is an excellent class. It is useful for many C# developers.
Usage. The using-statement provides a clear, elegant way to dispose system resources. StreamWriter is part of a pair of objects. We often use it along with StreamReader.
© TheDeveloperBlog.com
The Dev Codes

Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf