import{_ as e,c as t,a3 as r,o as i}from"./chunks/framework.CUlkWZrb.js";const p=JSON.parse('{"title":"ФайловыйПоток / FileStream","description":"","frontmatter":{"outline":[2,3]},"headers":[],"relativePath":"syntax/FileStream.md","filePath":"syntax/FileStream.md"}'),l={name:"syntax/FileStream.md"};function o(n,a,h,s,d,u){return i(),t("div",null,a[0]||(a[0]=[r('
Специализированная версия объекта Поток для работы данными, расположенными в файле на диске. Предоставляет возможность чтения из потока, записи в поток и изменения текущей позиции. По умолчанию, все операции с файловым потоком являются буферизированными, размер буфера по умолчанию - 8 КБ. Размер буфера можно изменить, в том числе - полностью отключить буферизацию при вызове конструктора. Следует учитывать, что помимо буферизации существует кэширование чтения и записи файлов в операционной системе, на которое невозможно повлиять программно.
Тип значения: Булево (Boolean)
Признак доступности записи в поток.
Тип значения: Булево (Boolean)
Признак доступности произвольного изменения позиции чтения/записи в потоке.
Тип значения: Булево (Boolean)
Признак доступности чтения из потока.
Тип значения: Булево (Boolean)
Признак доступности установки таймаута чтения/записи в потоке.
Тип значения: Число (int)
Время в миллисекундах, отведенное потоку на операцию чтения.
Тип значения: Число (int)
Время в миллисекундах, отведенное потоку на операцию записи.
Содержит полное имя файла, включая путь
Вызов данного метода завершает работу с потоком. При попытке вызвать любой метод объекта, кроме метода Закрыть, будет вызвано исключение. При повторном вызове данного метода никаких действий выполняться не будет. Выполняемое действие зависит от используемого типа потока.
Записывает в поток заданное количество байтов из буфера по заданному смещению. Если в буфере меньше данных, чем требуется записать, вызывается исключение о недостаточном количестве данных в буфере. Запись в поток возможна только, если поток поддерживает запись. В противном случае при вызове метода будет вызвано исключение.
Копирует данные из текущего потока в другой поток.
Сдвигает текущую позицию потока на заданное количество байтов относительно начальной позиции. Если указано отрицательное смещение, позиция сдвигается в направлении к началу потока. Если изменение позиции недоступно (ДоступноИзменениеПозиции установлено в Ложь), будет сгенерировано исключение.
Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
Возвращает поток, который разделяет данные и текущую позицию с данным потоком, но не разрешает запись.
Выполняет чтение заданного количества байтов в указанный буфер по указанному смещению. Текущая позиция смещается вперед на фактическое количество прочитанных байтов. Чтение из потока возможно только, если поток поддерживает чтение. В противном случае, будет вызвано исключение. При чтении размер целевого буфера не меняется, а его содержимое перезаписывается фактически прочитанными данными. Если в буфере недостаточно места для записи прочитанных данных, происходит ошибка переполнения.
Возвращает число прочитанных байт
Получает размер данных в байтах.
Сбрасывает все промежуточные буферы и производит запись всех незаписанных данных в целевое устройство.
Возвращает текущую позицию в потоке.
Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
Устанавливает размер потока. Если текущий размер превышает заданный, поток будет сокращен до заданного размера, а информация, превышающая заданный размер, будет потеряна. Если текущий размер потока меньше заданного, то содержимое потока между старым и новым размером не определено.