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

Метод StreamReader.Read ()

 

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

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

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

public override int Read()

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

Type: System.Int32

Следующий символ из входного потока, представленный в виде объекта Int32, или значение -1, если больше нет доступных символов.

Exception Condition
IOException

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

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

Этот метод возвращает целое число, чтобы она может возвращать значение -1, если достигнут конец потока. Положение базового потока управления после считывания данных в буфере, положение основного потока может не соответствовать позиции внутреннего буфера. Чтобы сбросить внутренний буфер, вызовите DiscardBufferedData метод; тем не менее, этот метод снижает производительность и должен быть вызван только при крайней необходимости.

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

В следующем примере кода показано простое использование Read метода.

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.Write((char)sr.Read());
                }
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

В следующем примере кода показано чтение одного символа с помощью Read() перегрузку метода, форматирование вывода в виде десятичным и шестнадцатеричным представлением целое число ASCII.

using System;
using System.IO;

class StrmRdrRead
{
public static void Main()
    {
    //Create a FileInfo instance representing an existing text file.
    FileInfo MyFile=new FileInfo(@"c:\csc.txt");
    //Instantiate a StreamReader to read from the text file.
    StreamReader sr=MyFile.OpenText();
    //Read a single character.
    int FirstChar=sr.Read();
    //Display the ASCII number of the character read in both decimal and hexadecimal format.
    Console.WriteLine("The ASCII number of the first character read is {0:D} in decimal and {1:X} in hexadecimal.",
        FirstChar, FirstChar);
    //
    sr.Close();
    }
}

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