How to: Write to a Text File (C# Programming Guide)
These examples show various ways to write text to a file. The first two examples use static methods on the System.IO.File class to write either a complete array of strings or a complete string to a text file. Example #3 shows how to add text to a file when you have to process each line individually before writing to the file. Examples 1-3 all overwrite all existing content in the file. Example #4 shows how to append text to an existing file.
class WriteTextFile
{
static void Main()
{
// These examples assume a "C:\Users\Public\TestFolder" folder on your machine.
// You can modify the path if necessary.
// Example #1: Write an array of strings to a file.
// Create a string array that consists of three lines.
string[] lines = {"First line", "Second line", "Third line"};
System.IO.File.WriteAllLines(@"C:\Users\Public\TestFolder\WriteLines.txt", lines);
// Example #2: Write one string to a text file.
string text = "A class is the most powerful data type in C#. Like structures, " +
"a class defines the data and behavior of the data type. ";
System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", text);
// Example #3: Write only some strings in an array to a file.
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt"))
{
foreach (string line in lines)
{
if (line.Contains("Second") == false)
{
file.WriteLine(line);
}
}
}
// Example #4: Append new text to an existing file
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt", true))
{
file.WriteLine("Fourth line");
}
}
}
/* Output (to WriteLines.txt):
First line
Second line
Third line
Output (to WriteText.txt):
A class is the most powerful data type in C#. Like structures, a class defines the data and behavior of the data type.
Output to WriteLines2.txt after Example #3:
First line
Third line
Output to WriteLines2.txt after Example #4:
First line
Third line
Fourth line
*/
@ is the "verbatim character"
Prefixing it lets you enter backslashes and everything else directly. Well, except for ". The double quote is used to escape itself. It's handy for file paths so you can paste them in from Windows Explorer. @"C:\Temp\file.txt" is the same as "C:\\Temp\\file.txt".
- 3/10/2012
- Eric Pence
- 3/10/2012
- Eric Pence