Перейти к основному содержимому

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

Стд::ВводВывод::ЗаписьДанных

Объект для записи данных в поток.

Сравнение ссылочное

Иерархия типа

Базовые типы: Объект


Примеры

Построчная запись текстового файла

метод ЗаписатьСтрокиВФайл()
пер Строки = ["строка1", "строка2", "строка3"]
// Существующий файл text.txt в домашнем каталоге, куда будет выполняться запись строк
знч Файл = новый Файл("text.txt", Файлы.ПолучитьДомашнийКаталогПользователя())

// Поток записи будет закрыт автоматически, так как объявлен через "исп"
исп ПотокЗаписи = Файл.ОткрытьПотокЗаписи()

// Настройки записи с разделителем CR LF и кордировки Windows-1251
знч НастройкиЗаписи = новый НастройкиЗаписиДанных()
НастройкиЗаписи.РазделительСтрок = "\в\н"
НастройкиЗаписи.Кодировка = "Windows-1251"

знч ЗаписьДанных = новый ЗаписьДанных(ПотокЗаписи, НастройкиЗаписи)

Строки.ДляКаждого(Строка -> ЗаписьДанных.ЗаписатьСтроку(Строка))
;
строка1
строка2
строка3

Запись двоичных данныx

метод ЗаписатьИПрочитатьДвоичныеДанные()
знч Файл = новый Файл("data.bin", Файлы.ПолучитьДомашнийКаталогПользователя())

// Поток записи в файл data.bin
исп ПотокЗаписи = Файл.ОткрытьПотокЗаписи()
знч ЗаписьДанных = новый ЗаписьДанных(ПотокЗаписи)

ЗаписьДанных.ЗаписатьБайт(255)
ЗаписьДанных.Записать(Байты{74657374}) // строка test, 4 байта
ЗаписьДанных.ЗаписатьЦелое16(-32767)

попытка
ЗаписьДанных.ЗаписатьЦелое16(32768)
поймать И: ИсключениеНедопустимыйАргумент
// Значение числового параметра выходит за рамки диапазона допустимых значений
;

ЗаписьДанных.ЗаписатьЦелое32(2147483647)
ЗаписьДанных.ЗаписатьЦелое64(9223372036854775807)

// Явное закрытие потока записи, чтобы далее прочитать данные
ПотокЗаписи.Закрыть()

// Поток чтения файла data.bin, будет закрыт автоматически, так как объявлен через "исп"
исп ПотокЧтения = Файл.ОткрытьПотокЧтения()
знч ЧтениеДанных = новый ЧтениеДанных(ПотокЧтения)

пер Байт = ЧтениеДанных.ПрочитатьБайт() // 255
пер Байты = ЧтениеДанных.Прочитать(4).ПолучитьБайты() // 74657374
пер Целое16 = ЧтениеДанных.ПрочитатьЦелое16() // -32767
пер Целое32 = ЧтениеДанных.ПрочитатьЦелое32() // 2147483647
пер Целое64 = ЧтениеДанных.ПрочитатьЦелое64() // 9223372036854775807
;

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

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

ЗаписьДанных(Поток: ПотокЗаписи)
Перегрузка:
ЗаписьДанных(Поток: ПотокЗаписи, Настройки: НастройкиЗаписиДанных)

Создает объект для записи данных в поток Поток.


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

ЗаписьДанных(
Поток: ПотокЗаписи,
Настройки: НастройкиЗаписиДанных)
Перегрузка:
ЗаписьДанных(Поток: ПотокЗаписи)

Создает объект для записи данных в поток Поток с настройками Настройки.


Методы

Записать

Выполняет запись данных Данные в поток.


ЗаписатьБайт

ЗаписатьБайт(Число: Число)
Выполняет запись одного байта в поток. Значение числа должно находиться в диапазоне от 0 до 255, иначе выбрасывается исключение ИсключениеНедопустимыйАргумент.


ЗаписатьМеткуПорядкаБайтов

Статический

ЗаписатьМеткуПорядкаБайтов(
Поток: ПотокЗаписи,
Кодировка: Кодировка|Строка,
ПорядокБайтов: ПорядокБайтов
): ПотокЗаписи
Записывает в поток Поток метку порядка байтов для кодировки Кодировка с порядком байтов ПорядокБайтов. Выбрасывает исключение ИсключениеНедопустимыйАргумент, если кодировка не принадлежит семейству UTF.

Исключения

ИсключениеНедопустимыйАргумент - если кодировка не принадлежит семейству UTF


ЗаписатьСимволы

ЗаписатьСимволы(
Строка: Строка,
Кодировка: Кодировка|Строка|? = Неопределено)
Выполняет запись строки Строка в поток в кодировке Кодировка. Если кодировка не указана, то используется указанная для данного экземпляра объекта ЗаписьДанных. В отличие от метода ЗаписатьСтроку не записывает в поток разделитель строк.


ЗаписатьСтроку

ЗаписатьСтроку(
Строка: Строка,
Кодировка: Кодировка|Строка|? = Неопределено,
РазделительСтрок: Строка? = Неопределено)
Выполняет сначала запись строки Строка в поток в кодировке Кодировка, затем - разделитель строк РазделительСтрок. Если кодировка не указана, то используется указанная для данного экземпляра объекта ЗаписьДанных. Если разделитель строк не указан, то используется указанный для данного экземпляра объекта ЗаписьДанных.


ЗаписатьЦелое16

ЗаписатьЦелое16(
Число: Число,
ПорядокБайтов: ПорядокБайтов? = Неопределено)
Записывает 16-битное целое число Число в поток с указанным порядком байтов ПорядокБайтов. Если порядок байтов не указан, то используется порядок байтов, указанный для данного экземпляра объекта ЗаписьДанных. В случае, если переданное число не 16-битное, выбрасывается исключение ИсключениеНедопустимыйАргумент.


ЗаписатьЦелое32

ЗаписатьЦелое32(
Число: Число,
ПорядокБайтов: ПорядокБайтов? = Неопределено)
Записывает 32-битное целое число Число в поток с указанным порядком байтов ПорядокБайтов. Если порядок байтов не указан, то используется порядок байтов, указанный для данного экземпляра объекта ЗаписьДанных. В случае, если переданное число не 32-битное, выбрасывается исключение ИсключениеНедопустимыйАргумент.


ЗаписатьЦелое64

ЗаписатьЦелое64(
Число: Число,
ПорядокБайтов: ПорядокБайтов? = Неопределено)
Записывает 64-битное целое число Число в поток с указанным порядком байтов ПорядокБайтов. Если порядок байтов не указан, то используется порядок байтов, указанный для данного экземпляра объекта ЗаписьДанных. В случае, если переданное число не 64-битное, выбрасывается исключение ИсключениеНедопустимыйАргумент.


Список унаследованных методов

Объект

ВСтроку, ПолучитьТип, Представление