Link Search Menu Expand Document

ПотокЧтения

Стд::ВводВывод::ПотокЧтения
Базовые типы: Закрываемое, Объект

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

graph BT;
ПотокЧтения-->Закрываемое;
Закрываемое-->Объект;

Однонаправленный поток чтения данных. Автоматически закрывается после достижения конца потока. После закрытия методы чтения выбрасывают исключение ИсключениеВводаВывода.

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


Примеры

метод СоздатьИПрочитатьПотокЧтения()
    исп ПотокИзБайтов = ПотокЧтения.ИзБайтов(Байты{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
): ПотокЧтения

Возвращает новый поток содержащий данные, переданные в строке Данные, которые интерпретируюся в зависимости от кодировки Кодировка.


КопироватьВ

КопироватьВ(
  ПотокЗаписи: ПотокЗаписи,
  Количество: Число? = Неопределено
): Число

Копирует заданное количество байтов Количество из текущего потока в целевой поток ПотокЗаписи. Возвращает фактически записанное количество байтов.


КопироватьВФайл

КопироватьВФайл(
  Файл: Файл|Строка,
  ЗаписатьВКонец: Булево = Ложь,
  Количество: Число? = Неопределено
): Число

Копирует заданное количество байтов Количество из текущего потока в целевой файл Файл. ЗаписатьВКонец - способ записи:

  • Истина - запись добавляется в существующий файл,
  • Ложь - содержимое файла удаляется, поток будет записан в начало.

Возвращает фактически записанное количество байтов.


ПрочитатьКакБайты

ПрочитатьКакБайты(): Байты

Возвращает содержимое потока как байты и закрывает поток.


ПрочитатьКакСтроку

ПрочитатьКакСтроку(Кодировка: Кодировка|Строка = Кодировка.Utf8): Строка

Возвращает содержимое потока как строку, используя кодировку Кодировка, а затем закрывает поток.


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

Объект