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

ПотокЧтения

Стд::ВводВывод::ПотокЧтения Доступность: Сервер

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

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

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

Базовые типы: Закрываемое, Объект


Примеры

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

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


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

Объект

ВСтроку, ПолучитьТип, Представление