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

Класс BinaryWriter

 

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

Записывает примитивные типы в двоичный поток и поддерживает запись строк в заданной кодировке.

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


[SerializableAttribute]
[ComVisibleAttribute(true)]
public class BinaryWriter : IDisposable

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

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

System_CAPS_pubmethodBinaryWriter(Stream)

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

System_CAPS_pubmethodBinaryWriter(Stream, Encoding)

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

System_CAPS_pubmethodBinaryWriter(Stream, Encoding, Boolean)

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

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

Возвращает основной поток BinaryWriter.

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

Закрывает текущий BinaryWriter и основной поток.

System_CAPS_pubmethodDispose()

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

System_CAPS_protmethodDispose(Boolean)

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

System_CAPS_pubmethodEquals(Object)

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

System_CAPS_protmethodFinalize()

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

System_CAPS_pubmethodFlush()

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

System_CAPS_pubmethodGetHashCode()

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

System_CAPS_pubmethodGetType()

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

System_CAPS_protmethodMemberwiseClone()

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

System_CAPS_pubmethodSeek(Int32, SeekOrigin)

Задает позицию в текущем потоке.

System_CAPS_pubmethodToString()

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

System_CAPS_pubmethodWrite(Boolean)

Записывает однобайтовое Boolean значение в текущий поток, представляющий 0 false и 1, представляющие true.

System_CAPS_pubmethodWrite(Byte)

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

System_CAPS_pubmethodWrite(Byte[])

Записывает массив байтов в базовый поток.

System_CAPS_pubmethodWrite(Byte[], Int32, Int32)

Записывает области массива байтов в текущий поток.

System_CAPS_pubmethodWrite(Char)

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

System_CAPS_pubmethodWrite(Char[])

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

System_CAPS_pubmethodWrite(Char[], Int32, Int32)

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

System_CAPS_pubmethodWrite(Decimal)

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

System_CAPS_pubmethodWrite(Double)

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

System_CAPS_pubmethodWrite(Int16)

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

System_CAPS_pubmethodWrite(Int32)

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

System_CAPS_pubmethodWrite(Int64)

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

System_CAPS_pubmethodWrite(SByte)

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

System_CAPS_pubmethodWrite(Single)

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

System_CAPS_pubmethodWrite(String)

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

System_CAPS_pubmethodWrite(UInt16)

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

System_CAPS_pubmethodWrite(UInt32)

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

System_CAPS_pubmethodWrite(UInt64)

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

System_CAPS_protmethodWrite7BitEncodedInt(Int32)

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

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

Указывает BinaryWriter без резервного хранилища.

System_CAPS_protfieldOutStream

Содержит базовый поток.

BinaryWriter Предоставляет методы, которые упрощают написание примитивные типы данных в поток. Например, можно использовать Write метода для записи в поток как однобайтовое значение логическое значение. Этот класс включает методы записи, которые поддерживают различные типы данных.

При создании экземпляра BinaryWriter класс, предоставляют поток для записи и при необходимости укажите тип кодировки и следует ли оставить поток откройте после удаления BinaryWriter объекта. Если не указать тип кодировки, используется UTF-8.

System_CAPS_importantВажно

Этот тип реализует IDisposable интерфейса. После завершения с помощью типа следует освободить его прямо или косвенно. Для удаления типа непосредственно вызвать его Dispose метод tryилиcatch блока. Для удаления его косвенно, использовать языковой конструкции, такие как using (в C#) или Using (в Visual Basic). Дополнительные сведения см. в разделе «Использование объекта, реализует IDisposable» IDisposable разделе интерфейса.

Производный класс может переопределить методы этого класса для назначения конкретной кодировки символов.

В следующем примере кода показано, как сохранять и извлекать параметры приложения в файле.

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) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

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