Link Search Menu Expand Document

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

Стд::ВводВывод::ЗаписьДанных
Базовые типы: Объект

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

graph BT;
ЗаписьДанных-->Объект;

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

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


Примеры

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

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


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

Статический ЗаписатьМеткуПорядкаБайтов(
  Поток: ПотокЗаписи,
  Кодировка: Кодировка|Строка,
  ПорядокБайтов: ПорядокБайтов
): ПотокЗаписи

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

ЗаписатьСимволы(
  Строка: Строка,
  Кодировка: Кодировка|Строка|? = Неопределено)

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


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

ЗаписатьСтроку(
  Строка: Строка,
  Кодировка: Кодировка|Строка|? = Неопределено,
  РазделительСтрок: Строка? = Неопределено)

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


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

ЗаписатьЦелое16(
  Число: Число,
  ПорядокБайтов: ПорядокБайтов? = Неопределено)

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


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

ЗаписатьЦелое32(
  Число: Число,
  ПорядокБайтов: ПорядокБайтов? = Неопределено)

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


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

ЗаписатьЦелое64(
  Число: Число,
  ПорядокБайтов: ПорядокБайтов? = Неопределено)

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


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

Объект