ПотокЧтения
Стд::ВводВывод::ПотокЧтения
Однонаправленный поток чтения данных. После достижения конца автоматически освобождает внутренние ресурсы и не требует явного закрытия. После явного закрытия методы чтения выбрасывают исключение ИсключениеВводаВывода.
Сравнение ссылочное
Иерархия типа
Базовые типы: Закрываемое, Объект
Примеры
метод СоздатьИПрочитатьПотокЧтения()
исп ПотокИзБайтов = ПотокЧтения.ИзБайтов(Байты{74657374})
пер Строка = ПотокИзБайтов.ПрочитатьКакСтроку() // test
попытка
ПотокИзБайтов.ПрочитатьКакСтроку()
поймать И: ИсключениеВводаВывода
// обработка исключения, так как поток уже закрыт
;
исп ПотокИзСтроки = ПотокЧтения.ИзСтроки("test")
пер Байты = ПотокИзСтроки.ПрочитатьКакБайты() // 74657374
;
метод СоздатьИСкопироватьПотокЧтения()
исп ПотокЧтения = ПотокЧтения.ИзБайтов(Байты{7465737461}) // 5 байтов
исп ПотокЗаписи = новый ВременныйПотокЗаписи()
// Копирование из потока чтения в поток записи по 2 байта
пока ПотокЧтения.КопироватьВ(ПотокЗаписи, 2) > 0
// 3 итерации
;
знч РазмерПотокаЗаписи = ПотокЗаписи.Размер() // 5 байтов
знч Байты = ПотокЗаписи.ОткрытьПотокЧтения().ПрочитатьКакБайты() // 7465737461
;
метод СоздатьПотокЧтенияИСкопироватьВФайл()
пер Файл = Файлы.Создать(новый Файл("КопированиеПотокаЧтения.txt", Файлы.ПолучитьДомашнийКаталогПользователя()))
исп ПотокЧтения1 = ПотокЧтения.ИзСтроки("test1")
// Копирование из потока чтения в файл по 2 байта
пока Пот окЧтения1.КопироватьВФайл(Файл, Истина, 2) > 0
// 3 итерации
;
// Содержимое файла = test1
исп ПотокЧтения2 = ПотокЧтения.ИзСтроки("test2")
ПотокЧтения2.КопироватьВФайл(Файл, Истина)
// Содержимое файла = test1test2
исп ПотокЧтения3 = ПотокЧтения.ИзСтроки("test3")
ПотокЧтения3.КопироватьВФайл(Файл, Ложь)
// Содержимое файла = test3
;
Методы
Закрыть
Закрыть()Закрывает поток. Повторный вызов ничего не делает.
ИзБайтов
Статический
ИзБайтов(Данные: Байты): ПотокЧтенияДанные.
ИзСтроки
Статический
ИзСтроки(
Данные: Строка,
Кодировка: Кодировка|Строка = Кодировка.Utf8
): ПотокЧтенияДанные, которые интерпретируюся в зависимости от кодировки Кодировка.
КопироватьВ
КопироватьВ(
ПотокЗаписи: ПотокЗаписи,
Количество: Число? = Неопределено
): ЧислоКоличество из текущего потока в целевой поток ПотокЗаписи.
Возвращает фактически записанное количество байтов.
КопироватьВФайл
Копирует заданное количество байтов
Количество из текущего потока в целевой файл Файл.
ЗаписатьВКонец - способ записи:
Истина- запись добавляется в существующий файл,Ложь- содержимое файла удаляется, поток будет записан в начало.
Возвращает фактически записанное количество байтов.
ПрочитатьКакБайты
ПрочитатьКакБайты(): БайтыПрочитатьКакСтроку
Возвращает содержимое потока как строку, используя кодировкуКодировка, а затем закрывает поток.