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.


The files that are used in this example are created in the topic How to: Write to a Text File.


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.");

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, 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.

.NET Framework 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.

See also