ЧтениеДанных / DataReader

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

ЧтениеЗавершено / ReadCompleted

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

Содержит признак того, что во входном потоке больше нет данных для чтения. Изначально устанавливается в значение Ложь. Если при очередном чтении было прочитано меньше данных, чем было запрошено, принимает значение Истина.

Методы

Закрыть / Close()

Вызов данного метода завершает работу с текущим объектом. Если объект является владельцем вложенного потока, поток также закрывается.

ИсходныйПоток / SourceStream()

Получает исходный поток, из которого выполняется чтение данных.

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

Пропустить / Skip()

Пропускает при чтении указанное количество байтов в потоке.

Параметры

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

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

ПропуститьДо / SkipTo()

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

Параметры

  • marker: Маркер, до которого требуется пропустить данные.

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

ПропуститьДо / SkipTo()

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

Параметры

  • marker: Маркер, до которого требуется пропустить данные.

  • encoding: Кодировка текста. Значение по умолчанию: Неопределено. Типы: КодировкаТекста (TextEncoding), Строка (String)

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

ПропуститьДо / SkipTo()

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

Параметры

  • markers: Массив маркеров, до которых надо пропустить данные. Элементы массива могут иметь тип БуферДвоичныхДанных или Строка. Данные пропускаются до первого встреченного маркера наибольшей возможной длины.

  • encoding: Кодировка текста.

Значение по умолчанию: Неопределено. Типы: КодировкаТекста (TextEncoding), Строка (String)

Прочитать / Read()

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

Параметры

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

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

Содержит описание результата чтения данных из потока.

ПрочитатьБайт / ReadByte()

Выполняет чтение одного байта из потока.

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

ПрочитатьВБуферДвоичныхДанных / ReadIntoBinaryDataBuffer()

Прочитать байты из потока в БуферДвоичныхДанных.

Параметры

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

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

ПрочитатьВБуферДвоичныхДанных / ReadIntoBinaryDataBuffer()

Прочитать байты из потока в БуферДвоичныхДанных.

Параметры

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

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

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

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

ПрочитатьДо / ReadTo()

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

Параметры

  • marker: Маркер, до которого выполняется чтение данных.

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

Содержит описание результата чтения данных из потока.

ПрочитатьДо / ReadTo()

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

Параметры

  • marker: Маркер, до которого выполняется чтение.

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

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

Содержит описание результата чтения данных из потока.

ПрочитатьДо / ReadTo()

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

Параметры

  • markers: Массив, содержащий маркеры. Элементы массива могут иметь тип БуферДвоичныхДанных или Строка.

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

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

Содержит описание результата чтения данных из потока.

ПрочитатьСимволы / ReadChars()

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

Параметры

  • count: Количество символов, которые требуется прочитать. Если не установлено, то будут прочитаны все символы до конца потока. Значение по умолчанию: Неопределено.

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

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

ПрочитатьСтроку / ReadLine()

Выполняет чтение строки текста до разделителя строки. Если разделитель не найден, чтение выполняется до конца потока. Если разделитель строки не задан явно, используется разделитель строки, указанный для данного экземпляра объекта ЧтениеДанных.

Параметры

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

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

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

ПрочитатьЦелое16 / ReadInt16()

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

Параметры

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

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

ПрочитатьЦелое32 / ReadInt32()

Прочитать 32-битное целое число из потока.

Параметры

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

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

Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.

ПрочитатьЦелое64 / ReadInt64()

Считывает 64-битное целое число из потока.

Параметры

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

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

Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.

Разделить / Split()

Разделяет остаток данных по заданным разделителям.

Параметры

  • separator: Двоичный разделитель данных.

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

Разделить / Split()

Разделяет остаток данных по заданным разделителям.

Параметры

  • separator: Разделитель данных в виде строки.

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

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

Разделить / Split()

Разделяет остаток данных по заданным разделителям.

Параметры

  • separators: Массив разделителей может содержать элементы типа БуферДвоичныхДанных или Строка.

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

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

РазделитьНаЧастиПо / SplitInPartsOf()

Разделяет остаток данных на части заданного размера. Размер части указывается в байтах.

Параметры

  • partSizw: Размер части данных в байтах.

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

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

На основании двоичных данных

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

Параметры

  • binaryData: Экземпляр объекта ДвоичныеДанные, из которого будет выполнено чтение.

  • textEncoding: Определяет кодировку текста, используемую для чтения данных. По-умолчанию используется кодировка UTF-8. Кодировка может быть задана как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки.

Значение по умолчанию: UTF8. Типы: КодировкаТекста (TextEncoding), Строка (String)

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

  • lineSplitter: Определяет строку, разделяющую строки в двоичных данных. Значение по умолчанию: Неопределено.

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

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

Создает объект чтения из заданного файла. При этом будет файл, указанный в параметре ИмяФайла, будет автоматически открыт на чтение. Если файл с таким именем не существует, будет сгенерировано исключение.

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

Параметры

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

  • textEncoding: Определяет кодировку текста, используемую для чтения файла. По-умолчанию используется кодировка UTF-8. Кодировка может быть задана как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки. Значение по умолчанию: UTF8. Типы: КодировкаТекста (TextEncoding), Строка (String)

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

  • lineSplitter: Строка, используемая в качестве разделителя строки в файле. Значение по умолчанию: Неопределено.

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

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

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

Параметры

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

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

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

  • lineSplitter: Определяет строку, разделяющую строки в потоке. Значение по умолчанию: Неопределено.

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