Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Метод StreamReader.ReadLine ()

 

Опубликовано: Октябрь 2016

Выполняет чтение строки символов из текущего потока и возвращает данные в виде строки.

Пространство имен:   System.IO
Сборка:  mscorlib (в mscorlib.dll)

public override string ReadLine()

Возвращаемое значение

Type: System.String

Следующая строка из входного потока или значение null, если достигнут конец входного потока.

Exception Condition
OutOfMemoryException

Не хватает памяти для выделения буфера для возвращаемой строки.

IOException

Ошибка ввода-вывода.

Строка определяется как последовательность символов, за которым следует строка перевод («\n»), возврат каретки («\r») или знак возврата каретки, сразу за которым следует строка перевода («\r\n»). Возвращаемая строка не содержит завершающий символ возврата каретки или перевода строки. Возвращаемое значение является null если достигнут конец входного потока.

Этот метод переопределяет TextReader.ReadLine.

Если текущий метод вызывает OutOfMemoryException, позиция средства чтения в базовом Stream объекта увеличивается на число знаков, которое может читать метод, но знаки, уже считанные во внутренний ReadLine буфера, отбрасываются. Положение базового потока управления после считывания данных в буфере, положение основного потока может не соответствовать позиции внутреннего буфера. Чтобы сбросить внутренний буфер, вызовите DiscardBufferedData метод; тем не менее, этот метод снижает производительность и должен быть вызван только при крайней необходимости.

Список наиболее распространенных задач ввода-вывода, в разделе Распространенные задачи ввода-вывода.

В следующем примере кода считывает строки из файла, пока не будет достигнут конец файла.

using System;
using System.IO;

class Test 
{

    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";
        try 
        {
            if (File.Exists(path)) 
            {
                File.Delete(path);
            }

            using (StreamWriter sw = new StreamWriter(path)) 
            {
                sw.WriteLine("This");
                sw.WriteLine("is some text");
                sw.WriteLine("to test");
                sw.WriteLine("Reading");
            }

            using (StreamReader sr = new StreamReader(path)) 
            {
                while (sr.Peek() >= 0) 
                {
                    Console.WriteLine(sr.ReadLine());
                }
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

Универсальная платформа Windows
Доступно с 8
.NET Framework
Доступно с 1.1
Переносимая библиотека классов
Поддерживается в: переносимые платформы .NET
Silverlight
Доступно с 2.0
Windows Phone Silverlight
Доступно с 7.0
Windows Phone
Доступно с 8.1
Вернуться в начало
Показ: