ЗаписьДанных
Стд::ВводВывод::ЗаписьДанных
Объект для записи данных в поток.
Сравнение ссылочное
Иерархия типа
Базовые типы: Объект
Примеры
Построчная запись текстового файла
метод ЗаписатьСтрокиВФайл()
пер Строки = ["строка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
;
Конструкт оры
ЗаписьДанных
ЗаписьДанных(Поток: ПотокЗаписи)
ЗаписьДанных(Поток: ПотокЗаписи, Настройки: НастройкиЗаписиДанных)
Создает объект для записи данных в поток Поток
.
ЗаписьДанных
ЗаписьДанных(
Поток: ПотокЗаписи,
Настройки: НастройкиЗаписиДанных)
ЗаписьДанных(Поток: ПотокЗаписи)
Создает объект для записи данных в поток Поток
с настройками Настройки
.
Методы
Записать
Записать(Данные: Байты|РезультатЧтенияДанных)
Данные
в поток.
ЗаписатьБайт
ЗаписатьБайт(Число: Число)
ЗаписатьМеткуПорядкаБайтов
Статический
ЗаписатьМеткуПорядкаБайтов(
Поток: ПотокЗаписи,
Кодировка: Кодировка|Строка,
ПорядокБайтов: ПорядокБайтов
): ПотокЗаписи
Поток
метку порядка байтов для кодировки Кодировка
с порядком байтов ПорядокБайтов
.
Выбрасывает исключение ИсключениеНедопустимыйАргумент, если кодировка не принадлежит семейству UTF.
Исключения
ИсключениеНедопустимыйАргумент - если кодировка не принадлежит семейству UTF
ЗаписатьСимволы
Выполняет запись строкиСтрока
в поток в кодировке Кодировка
.
Если кодировка не указана, то используется указанная для данного экземпляра объекта ЗаписьДанных.
В отличие от метода ЗаписатьСтроку не записывает в поток разделитель строк.
ЗаписатьСтроку
Выполняет сначала запись строки
Строка
в поток в кодировке Кодировка
, затем - разделитель строк РазделительСтрок
.
Если кодировка не указана, то используется указанная для данного экземпляра объекта ЗаписьДанных.
Если разделитель строк не указан, то используется указанный для данного экземпляра объекта ЗаписьДанных.
ЗаписатьЦелое16
ЗаписатьЦелое16(
Число: Число,
ПорядокБайтов: ПорядокБайтов? = Неопределено)
Число
в поток с указанным порядком байтов ПорядокБайтов
.
Если порядок байтов не указан, то используется порядок байтов, указанный для данного экземпляра объекта ЗаписьДанных.
В случае, если переданное число не 16-битное, выбрасывается исключение ИсключениеНедопустимыйАргумент.
ЗаписатьЦелое32
ЗаписатьЦелое32(
Число: Число,
ПорядокБайтов: ПорядокБайтов? = Неопределено)
Число
в поток с указанным порядком байтов ПорядокБайтов
.
Если порядок байтов не указан, то используется порядок байтов, указанный для данно го экземпляра объекта ЗаписьДанных.
В случае, если переданное число не 32-битное, выбрасывается исключение ИсключениеНедопустимыйАргумент.
ЗаписатьЦелое64
ЗаписатьЦелое64(
Число: Число,
ПорядокБайтов: ПорядокБайтов? = Неопределено)
Число
в поток с указанным порядком байтов ПорядокБайтов
.
Если порядок байтов не указан, то используется порядок байтов, указанный для данного экземпляра объекта ЗаписьДанных.
В случае, если переданное число не 64-битное, выбрасывается исключение ИсключениеНедопустимыйАргумент.