Публикации
Публикации  »  C#, C++

Чтение текстового файла построчно на C#

Два самых простых способа как прочитать текстовый файл построчно на C#. В обоих случаях используется using System.IO;. Напишу сразу примеры кода без всяких прелюдий.

Способ 1

Классический вариант чтения файла построчно:

StreamReader f = new StreamReader("test.txt");
while (!f.EndOfStream)
{
  string s = f.ReadLine();
  // что-нибудь делаем с прочитанной строкой s
}
f.Close();

Еще один пример, как можно организовать цикл построчного чтения:

string s;
StreamReader f = new StreamReader("test.txt");
while ((s = f.ReadLine()) != null)
{
  // что-нибудь делаем с прочитанной строкой s
}
f.Close();

Указать кодировку при чтении файла (например, DOS-кодировку) можно так:

StreamReader f = new StreamReader("test.txt", Encoding.GetEncoding(866));

Так же можно использовать обёртку using чтобы не закрывать файл после чтения.

string s;
using (var f = new StreamReader("test.txt", Encoding.GetEncoding(1251)))
{
  while ((s = f.ReadLine()) != null)
  {
    // что-нибудь делаем с прочитанной строкой s
  }
}

Способ 2

Прочитать весь файл целиком в массив строк:

string[] lines = File.ReadAllLines("test.txt");
foreach (string s in lines)
{
  // что-нибудь делаем с прочитанной строкой s
}

По аналогии, кстати, можно и записывать построчно в файл, использовав StreamWriter, f.WriteLine и File.WriteAllLines. Побробнее смотрите в следующей статье.

Категория: C#, C++

Комментарии к статье:

30.06.18   Гость Спасибо. То, что надо и без всякого мусора как на других сайтах.

Добавить комментарий: