Свойство EndOfStream
StreamReader.EndOfStream становится
true, когда весь текст уже
прочитан и позиция в конце. До чтения
данных обычно false. Смотреть
символ без сдвига можно через
Peek.
Синтаксис
bool atEnd = reader.EndOfStream;
Пример
Давайте проверим флаг до чтения:
using System;
using System.IO;
class Program
{
static void Main()
{
using var reader = new StringReader("abcde");
bool res = reader.EndOfStream;
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Пример
Давайте прочитаем всё и проверим снова:
using System;
using System.IO;
class Program
{
static void Main()
{
using var reader = new StringReader("abcde");
reader.ReadToEnd();
bool res = reader.EndOfStream;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте дочитаем "12345" через
ReadLine до конца:
using System;
using System.IO;
class Program
{
static void Main()
{
using var reader = new StringReader("12345");
while (reader.ReadLine() != null)
{
}
bool res = reader.EndOfStream;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
ReadToEnd,
который забирает остаток -
метод
ReadLine,
который возвращаетnullв конце -
StreamReader,
класс, где объявлено свойство -
MemoryStream,
источник дляStreamReader