Метод ReadLine
StreamReader.ReadLine возвращает
строку без \n или \r\n.
После данных вернётся null, не
пустая строка. Удобно читать из
StringReader
или потока из
MemoryStream.
Есть ReadLineAsync.
Синтаксис
string? line = reader.ReadLine();
Пример
Давайте прочитаем две строки из текста с
"\n":
using System;
using System.IO;
class Program
{
static void Main()
{
using var reader = new StringReader("abcde\n12345");
string? first = reader.ReadLine();
string? second = reader.ReadLine();
Console.WriteLine(first);
Console.WriteLine(second);
}
}
Результат выполнения кода:
"abcde"
"12345"
Пример
Давайте проверим null после второй
строки:
using System;
using System.IO;
class Program
{
static void Main()
{
using var reader = new StringReader("abcde\n12345");
reader.ReadLine();
reader.ReadLine();
string? third = reader.ReadLine();
bool res = third == null;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте прочитаем строку из
MemoryStream:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
var ms = new MemoryStream();
using (var w = new StreamWriter(
ms, new UTF8Encoding(false), 1024, leaveOpen: true))
{
w.NewLine = "\n";
w.WriteLine("abcde");
}
ms.Position = 0;
using var reader = new StreamReader(ms, Encoding.UTF8);
string? res = reader.ReadLine();
Console.WriteLine(res);
}
}
Результат выполнения кода:
"abcde"
Смотрите также
-
метод
ReadToEnd,
который читает весь остаток -
метод
Read,
который читает по символам -
Stream,
байтовая основаStreamReader -
StringReader,
читатель поверх строки