ЗаписьДанных / DataWriter

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

  • Создать или получить приемник даных.
  • Вызвать из приемника экземпляр объекта ЗаписьДанных.
  • Выполнить требуемые действия с помощью объекта.
  • Закрыть экземпляр объекта ЗаписьДанных. При необходимости использовать другие методы для работы с данными, требуется сначала закрыть экземпляр объекта ЗаписьДанных с помощью метода Закрыть, выполнить необходимые действия над данными, установить требуемую позицию для чтения из приемника и создать новый экземпляр ЗаписьДанных.

Свойства

КодировкаТекста / TextEncoding

Доступ: Чтение/Запись

Кодировка текста по-умолчанию для данного экземпляра ЗаписьДанных. Кодировка может быть задана как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки.

КонвертируемыйРазделительСтрок / ConvertibleSplitterOfLines

Доступ: Чтение/Запись

Конвертируемый разделитель строк. Этот параметр влияет на поведение метода ЗаписатьСимволы.

ПорядокБайтов / ByteOrder

Доступ: Чтение/Запись

Порядок байтов по умолчанию.

РазделительСтрок / LineSplitter

Доступ: Чтение/Запись

Разделитель строк по-умолчанию. Это свойство влияет на поведение метода ЗаписатьСтроку.

Методы

Закрыть / Close()

Вызывает метод СброситьБуферы. Если целевой поток был создан при создании объекта ЗаписьДанных, целевой поток также закрывается.

Записать / Write()

Записывает данные в целевой поток.

Параметры

  • binaryDataOrReadResult: Записать экземпляр объекта ДвоичныеДанные в поток.

ЗаписатьБайт / WriteByte()

Записывает один байт в целевой поток.

Параметры

  • number: Целое число, которое будет записано в целевой поток. Значение числа должно находиться в диапазоне от 0 до 255.

ЗаписатьБуферДвоичныхДанных / WriteBinaryDataBuffer()

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

Параметры

  • buffer: Буфер двоичных данных, все байты которого будут записаны в целевой поток.

ЗаписатьБуферДвоичныхДанных / WriteBinaryDataBuffer()

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

Параметры

  • buffer: Буфер двоичных данных, который используется в качестве источника данных для записи в целевой поток.

  • positionInBuffer: Позиция в буфере, начиная с которой выполняется чтение байтов для записи в целевой поток.

  • number: Количество байтов, которые требуется записать в целевой поток.

ЗаписатьСимволы / WriteChars()

Записывает символы заданной строки в целевой поток.

Параметры

  • line: Строка, символы которой будут записаны в поток.

  • encoding: Определяет кодировку текста для записи строки. Если не установлена, используется кодировка, заданная для данного объекта ЗаписьДанных. Кодировка может быть задана как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки.

ЗаписатьСтроку / WriteLine()

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

Параметры

  • line: Строка, которая будет записана в поток.

  • encoding: Определяет кодировку текста для записи строки. Если не установлена, используется кодировка, заданная для данного объекта ЗаписьДанных. Кодировка может быть задана как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки. Значение по умолчанию: Неопределено. Типы: КодировкаТекста (TextEncoding), Строка (String)

  • lineSplitter: Указывает строку, являющуюся разделителем строк в потоке после записи символов строк. Если параметр не указан, используется разделитель строк, указанный для текущего экземпляра объекта ЗаписьДанных. Значение по умолчанию: Неопределено.

ЗаписатьЦелое16 / WriteInt16()

Записывает 16-разрядное число в целевой поток.

Параметры

  • number: Число, которое будет записано в целевой поток. Значение числа должно находиться в диапазоне от 0 до 65535.

  • byteOrder: Порядок байтов, который будет использован для кодировки числа при записи. Если не установлен, то будет использован порядок байтов, заданный для текущего экземпляра объекта ЗаписьДанных. Значение по умолчанию: Неопределено.

ЗаписатьЦелое32 / WriteInt32()

Записать целое 32-битное число в целевой поток.

Параметры

  • number: Целое число, которое будет записано в целевой поток. Значение числа должно находиться в диапазоне от 0 до 2^32-1.

  • byteOrder: Порядок байтов, который будет использован для кодировки числа при записи. Если не установлен, то будет использован порядок байтов, заданный для текущего экземпляра объекта ЗаписьДанных. Значение по умолчанию: Неопределено.

ЗаписатьЦелое64 / WriteInt64()

Записывает целое 16-битное число в целевой поток.

Параметры

  • number: Целое число, которое будет записано в целевой поток. Значение числа должно находиться в диапазоне от 0 до 2^64-1.

  • byteOrder: Порядок байтов, который будет использован для кодировки числа при записи. Если не установлен, то будет использован порядок байтов, заданный для текущего экземпляра объекта ЗаписьДанных. Значение по умолчанию: Неопределено.

СброситьБуферы / Flush()

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

ЦелевойПоток / TargetStream()

Возвращает целевой поток, в который выполняется запись.

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

Конструкторы

На основании имени файла

Создает объект ЗаписьДанных для записи в указанный файл. Если файл с таким именем не существует, он будет создан. Параметр <Дописать> определяет, будут ли данные записаны в начало или в конец файла. После завершения работы с объектом, до закрытия потока, переданного в конструктор, объект необходимо закрыть с помощью метода Закрыть или НачатьЗакрытие. При этом используемый файл будет закрыт автоматически.

Параметры

  • fileName: Имя файла, в который будет выполнена запись.

  • textEncoding: Кодировка текста для создаваемого экземпляра ЗаписьДанных. Если не задана, то используется UTF-8. Значение по умолчанию: UTF8. Типы: КодировкаТекста (TextEncoding), Строка (String)

  • byteOrder: Порядок байтов, используемый по умолчанию для кодирования целых чисел при записи в поток. Значение по умолчанию: LittleEndian.

  • lineSplitter: Разделитель по умолчанию для строк, записываемых в поток. Если разделитель строк не задан, то используется строка ПС. Значение по умолчанию: ПС.

  • append: Определяет, будут ли данные записаны в начало или в конец файла:

  • Если Истина, то при открытии существующего файла запись будет выполнена в конец файла.

  • Иначе данные будут записываться с начала файла, перезаписывая существующие данные. Если заданный файл не существует, будет создан новый файл с указанным именем и значение параметра не повлияет на поведение конструктора. Значение по умолчанию: Ложь.

  • convertibleSplitterOfLines: Определяет разделение строк в файле для конвертации в стандартный перевод строк ПС. Значение по умолчанию: ВК + ПС.

  • writeBOM: Если в начало файла или потока требуется записать метку порядка байтов (BOM) для используемой кодировки текста, то данный параметр должен иметь значение Истина. Значение по умолчанию: Ложь.

На основании потока

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

Параметры

  • stream: Поток, в который производится запись данных. Типы: Поток (Stream), ПотокВПамяти (MemoryStream), ФайловыйПоток (FileStream)

  • textEncoding: Устанавливает кодировку текста для создаваемого экземпляра ЗаписьДанных. Если не задано, используется кодировка UTF-8. Значение по умолчанию: UTF8. Типы: КодировкаТекста (TextEncoding), Строка (String)

  • byteOrder: Порядок байтов, используемый по умолчанию для кодирования целых чисел при записи в поток. Значение по умолчанию: LittleEndian.

  • lineSplitter: Разделитель по умолчанию для строк, записываемых в поток. Если разделитель строк не задан, то используется строка ПС. Значение по умолчанию: ПС.

  • convertibleSplitterOfLines: Определяет разделение строк в файле для конвертации в стандартный перевод строк ПС. Значение по умолчанию: ВК + ПС.

  • writeBOM: Если в начало файла или потока требуется записать метку порядка байтов (BOM) для используемой кодировки текста, то данный параметр должен иметь значение Истина. Значение по умолчанию: Ложь.