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

Класс BinaryReader

 

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

Считывает примитивные типы данных как двоичные значения в заданной кодировке.

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


[ComVisibleAttribute(true)]
public class BinaryReader : IDisposable

ИмяОписание
System_CAPS_pubmethodBinaryReader(Stream)

Инициализирует новый экземпляр класса BinaryReader на основании указанного потока с использованием кодировки UTF-8.

System_CAPS_pubmethodBinaryReader(Stream, Encoding)

Инициализирует новый экземпляр класса BinaryReader на основе указанного потока и кодировки символов.

System_CAPS_pubmethodBinaryReader(Stream, Encoding, Boolean)

Инициализирует новый экземпляр класса BinaryReader на основе указанного потока и кодировки символов, а также при необходимости оставляет поток открытым.

ИмяОписание
System_CAPS_pubpropertyBaseStream

Предоставляет доступ к базовому потоку объекта BinaryReader.

ИмяОписание
System_CAPS_pubmethodClose()

Закрывает текущий поток чтения и связанный с ним базовый поток.

System_CAPS_pubmethodDispose()

Освобождает все ресурсы, используемые текущим экземпляром класса BinaryReader.

System_CAPS_protmethodDispose(Boolean)

Освобождает неуправляемые ресурсы, используемые классом BinaryReader (при необходимости освобождает и управляемые ресурсы).

System_CAPS_pubmethodEquals(Object)

Определяет, равен ли заданный объект текущему объекту.(Наследуется от Object.)

System_CAPS_protmethodFillBuffer(Int32)

Заполняет внутренний буфер указанным количеством байтов, которые были cчитаны из потока.

System_CAPS_protmethodFinalize()

Позволяет объекту попытаться освободить ресурсы и выполнить другие операции по очистке перед тем, как объект будет утилизирован сборщиком мусора. (Наследуется от Object.)

System_CAPS_pubmethodGetHashCode()

Служит хэш-функцией по умолчанию.(Наследуется от Object.)

System_CAPS_pubmethodGetType()

Возвращает объект Type для текущего экземпляра.(Наследуется от Object.)

System_CAPS_protmethodMemberwiseClone()

Создает неполную копию текущего объекта Object.(Наследуется от Object.)

System_CAPS_pubmethodPeekChar()

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

System_CAPS_pubmethodRead()

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

System_CAPS_pubmethodRead(Byte[], Int32, Int32)

Считывает указанное количество байтов из потока, начиная с заданной точки в массиве байтов.

System_CAPS_pubmethodRead(Char[], Int32, Int32)

Считывает указанное количество символов из потока, начиная с заданной точки в массиве символов.

System_CAPS_protmethodRead7BitEncodedInt()

Считывает 32-разрядное целое число в сжатом формате.

System_CAPS_pubmethodReadBoolean()

Считывает значение Boolean из текущего потока и перемещает текущую позицию в потоке на один байт вперед.

System_CAPS_pubmethodReadByte()

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

System_CAPS_pubmethodReadBytes(Int32)

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

System_CAPS_pubmethodReadChar()

Считывает следующий знак из текущего потока и изменяет текущую позицию в потоке в соответствии с используемым значением Encoding и конкретным знаком в потоке, чтение которого выполняется в настоящий момент.

System_CAPS_pubmethodReadChars(Int32)

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

System_CAPS_pubmethodReadDecimal()

Считывает 128-битное значение типа decimal из текущего потока, и перемещает текущую позицию в потоке на шестнадцать байтов вперед.

System_CAPS_pubmethodReadDouble()

Считывает число с плавающей запятой длиной 8 байт из текущего потока и перемещает текущую позицию в потоке на восемь байт вперед.

System_CAPS_pubmethodReadInt16()

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

System_CAPS_pubmethodReadInt32()

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

System_CAPS_pubmethodReadInt64()

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

System_CAPS_pubmethodReadSByte()

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

System_CAPS_pubmethodReadSingle()

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

System_CAPS_pubmethodReadString()

Считывает строку из текущего потока. Строка предваряется значением длины строки, которое закодировано как целое число блоками по семь битов.

System_CAPS_pubmethodReadUInt16()

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

System_CAPS_pubmethodReadUInt32()

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

System_CAPS_pubmethodReadUInt64()

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

System_CAPS_pubmethodToString()

Возвращает строковое представление текущего объекта.
(Наследуется от Object.)

The T:System.IO.BinaryReader class provides methods that simplify reading primitive data types from a stream. For example, you can use the M:System.IO.BinaryReader.ReadBoolean method to read the next byte as a Boolean value and advance the current position in the stream by one byte. The class includes read methods that support different data types.

When you create a new instance of the T:System.IO.BinaryReader class, you provide the stream to read from, and optionally specify the type of encoding and whether to leave the stream open after disposing the T:System.IO.BinaryReader object. If you do not specify an encoding type, UTF-8 is used.

System_CAPS_importantВажно

This type implements the T:System.IDisposable interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its M:System.IDisposable.Dispose method in a try/catch block. To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). For more information, see the “Using an Object that Implements IDisposable” section in the T:System.IDisposable interface topic.

The following code example demonstrates how to store and retrieve application settings in a file.

using System;
using System.IO;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (BinaryWriter writer = new BinaryWriter(File.Open(fileName, FileMode.Create)))
        {
            writer.Write(1.250F);
            writer.Write(@"c:\Temp");
            writer.Write(10);
            writer.Write(true);
        }
    }

    public static void DisplayValues()
    {
        float aspectRatio;
        string tempDirectory;
        int autoSaveTime;
        bool showStatusBar;

        if (File.Exists(fileName))
        {
            using (BinaryReader reader = new BinaryReader(File.Open(fileName, FileMode.Open)))
            {
                aspectRatio = reader.ReadSingle();
                tempDirectory = reader.ReadString();
                autoSaveTime = reader.ReadInt32();
                showStatusBar = reader.ReadBoolean();
            }

            Console.WriteLine("Aspect ratio set to: " + aspectRatio);
            Console.WriteLine("Temp directory is: " + tempDirectory);
            Console.WriteLine("Auto save time set to: " + autoSaveTime);
            Console.WriteLine("Show status bar: " + showStatusBar);
        }
    }
}

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

Любые открытые статические элементы ( Предоставлен общий доступ в Visual Basic) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

Вернуться в начало
Показ: