Как прочитать текстовый файл в C#

Файлы используются для постоянного хранения и обмена данными.
Необходимость записи данных в файл обусловлена тем, что остановка программы, как правило, приводит к удалению всех данных, связанных с ней. Поэтому нам нужно где-то хранить данные.

Чтение текстового файла

Класс File в C# определяет два статических метода для чтения текстового файла, а именно **File.ReadAllText() и File.ReadAllLines().

File.ReadAllText() сразу читает весь файл и возвращает строку. Нам нужно сохранить эту строку в переменной и использовать ее для отображения содержимого на экране.

File.ReadAllLines() читает файл по одной строке за раз и возвращает эту строку в строковом формате. Нам нужен массив строк для хранения каждой строки. Мы отображаем содержимое файла, используя тот же массив строк.

Есть еще один способ прочитать файл в C# — использовать объект StreamReader. StreamReader такжесчитывает построчно и возвращает строку. Все вышеупомянутые способы чтения файла проиллюстрированы в приведенном ниже примере кода.

Создадим консольный проект в Visual Studio и пропишем в нем следующий код.

using System;
// пространство имен для с вводом 
using System.IO;

class Program {
    static void Main(string[] args)
    {
        // определите путь к текстовому файлу в вашей системе
        string file = @"C:DocumentsTextfile.txt";

        Console.WriteLine("Чтение файла с помощью File.ReadAllText()");

        // Чтение всего файла за один раз
                // Если файл существует
        if (File.Exists(file)) {
            // Чтение всего содержимого в одной строке 
                        // и вывод его на экран
            string str = File.ReadAllText(file);
            Console.WriteLine(str);
        }
        Console.WriteLine();

        Console.WriteLine("Чтение файла с помощью File.ReadAllLines()");

        // Прочитать текст по одной строке за раз 
        if (File.Exists(file)) {
            // Поместим каждую строку в массив строк
            string[] lines = File.ReadAllLines(file);

            foreach(string ln in lines)
                Console.WriteLine(ln);
        }
        Console.WriteLine();

        Console.WriteLine("Чтение файла с помощью StreamReader");

        // используем StreamReader
        if (File.Exists(file)) {
            // Читаем файл построчно
            var textFile = new StreamReader(file);
            string line;

            while ((line = textFile.ReadLine()) != null) {
                Console.WriteLine(line);
            }

            textFile.Close();

            Console.ReadKey();
        }
        Console.WriteLine();
    }
}

Чтобы запустить эту программу, сохраните файл с расширением .cs, а затем выполните команду /путь к компилятору/csc filename.cs в cmd.
После выполнения данной команды должен появиться исполняемый .exe файл.
Или вы можете использовать Visual Studio — там просто нужно нажать на кнопку — Запуск без отладки.

Таким образом, мы прочитали текст из файла тремя способами, каждый из которых имеет свои преимущества.

Источник