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

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

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

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

Сравнение

Ссылочное

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

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


Примеры​

Общие примеры

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

метод ЗаписатьСтрокиВФайл()
пер Строки = ["строка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-битное, выбрасывается исключение ИсключениеНедопустимыйАргумент.


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

Объект​

ВСтроку

ПолучитьТип

Представление