How to: Read From a Text File (C# Programming Guide)
This example reads the contents of a text file by using the static methods ReadAllText and ReadAllLines from the System.IO.File class.
For an example that uses StreamReader, see How to: Read a Text File One Line at a Time (Visual C#).
Note
The files that are used in this example are created in the topic How to: Write to a Text File (C# Programming Guide).
Example
class ReadFromFile
{
static void Main()
{
// The files used in this example are created in the topic
// How to: Write to a Text File. You can change the path and
// file name to substitute text files of your own.
// Example #1
// Read the file as one string.
string text = System.IO.File.ReadAllText(@"C:\Users\Public\TestFolder\WriteText.txt");
// Display the file contents to the console. Variable text is a string.
System.Console.WriteLine("Contents of WriteText.txt = {0}", text);
// Example #2
// Read each line of the file into a string array. Each element
// of the array is one line of the file.
string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Public\TestFolder\WriteLines2.txt");
// Display the file contents by using a foreach loop.
System.Console.WriteLine("Contents of WriteLines2.txt = ");
foreach (string line in lines)
{
// Use a tab to indent each line of the file.
Console.WriteLine("\t" + line);
}
// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
Compiling the Code
Copy the code and paste it into a C# console application.
If you are not using the text files from How to: Write to a Text File (C# Programming Guide), replace the argument to ReadAllText and ReadAllLines with the appropriate path and file name on your computer.
Robust Programming
The following conditions may cause an exception:
- The file doesn't exist or doesn't exist at the specified location. Check the path and the spelling of the file name.
Security
Do not rely on the name of a file to determine the contents of the file. For example, the file myFile.cs might not be a C# source file.