How to read all lines from a file in C#

The File class in the System.IO namespace provides the ReadAllLines() method, which is used to read all lines of a text file and return an array of strings containing all the lines of the file.

Syntax

public static string[] ReadAllLines (string filePath);

It takes the path of the file to read as an input and returns an array of strings.

The below scenarios are possible exceptions of this function:

  • The input file path is null or empty, or has whitespace or invalid characters.
  • The input file path or the file name is longer than the system-defined limit.
  • The path is invalid or there is an IO error while opening or reading the file.
  • The caller of the method does not have the right permission.
  • The file is not found or represents a directory.
  • The operation is not supported on the operating system.

Code example

In the following code example, a text file (test.txt) already exists in the current working directory. We will first check if this file exists, and then read all the lines of the file to a string array.

Finally, we will print this array of strings using the foreach loop. The program will terminate after printing the output below:

first line of file
second line of file
third line of file
fourth line of file
fifth line of file
main.cs
test.txt
using System;
using System.IO;
class FileLineReader
{
public static void Main()
{
string filePath = @"test.txt";
if(!File.Exists(filePath))
{
Console.WriteLine("File does not exist :{0} ", filePath);
return;
}
string[] textFromFile = File.ReadAllLines(filePath);
foreach (string line in textFromFile)
{
Console.WriteLine(line);
}
}
}

Free Resources