Export (0) Print
Expand All

File.ReadAllLines Method (String, Encoding)

Opens a file, reads all lines of the file with the specified encoding, and then closes the file.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

public static string[] ReadAllLines(
	string path,
	Encoding encoding


Type: System.String

The file to open for reading.

Type: System.Text.Encoding

The encoding applied to the contents of the file.

Return Value

Type: System.String[]
A string array containing all lines of the file.




path is null.






An I/O error occurred while opening the file.


path specified a file that is read-only.


This operation is not supported on the current platform.


path specified a directory.


The caller does not have the required permission.


The file specified in path was not found.


path is in an invalid format.


The caller does not have the required permission.

This method opens a file, reads each line of the file, and then adds each line as an element of a string array. It then closes the file. A line is defined as a sequence of characters followed by a carriage return ('\r'), a line feed ('\n'), or a carriage return immediately followed by a line feed. The resulting string does not contain the terminating carriage return and/or line feed.

This method attempts to automatically detect the encoding of a file based on the presence of byte order marks. Encoding formats UTF-8 and UTF-32 (both big-endian and little-endian) can be detected.

The following code example demonstrates the use of the ReadAllLines method to display the contents of a file. In this example a file is created, if it doesn't already exist, and text is added to it.

using System;
using System.IO;
using System.Text;

class Test
    public static void Main()

        // This text is added only once to the file. 
        if (!File.Exists(path))
            // Create a file to write to. 
            string[] createText = { "Hello", "And", "Welcome" };
            File.WriteAllLines(path, createText, Encoding.UTF8);

        // This text is always added, making the file longer over time 
        // if it is not deleted. 
        string appendText = "This is extra text" + Environment.NewLine;
        File.AppendAllText(path, appendText, Encoding.UTF8);

        // Open the file to read from. 
        string[] readText = File.ReadAllLines(path, Encoding.UTF8);
        foreach (string s in readText)

.NET Framework


.NET Framework Client Profile

Supported in: 4, 3.5 SP1



© 2014 Microsoft