ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2023

Просмотров: 26

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

1) Чтотакоепотокиввода-вывода?КакэтореализовановJava?
В Java основной функционал работы с потоками сосредоточен в классах из пакета java.io. Ключевым понятием здесь является понятие потока. В данном случае мы будем говорить о потоке (stream), как об абстракции, которая используется для
чтения или записи информации (файлов, сокетов, текста консоли и т.д.).
Объект, из которого можно считать данные, называется потоком ввода, а объект, в который можно записывать данные, - потоком вывода. Например, если надо считать содержание файла, то применяется поток ввода, а если надо записать в файл - то поток вывода.
В основе всех классов, управляющих потоками ба

йтов, находятся два абстрактных класса: InputStream (представляющий потоки ввода) и OutputStream (представляющий потоки вывода).
Но поскольку работать с байтами не очень удобно, то для работы с потоками символов были добавлены абстрактные классы Reader ля чтения потоков символов) и Writer ля записи потоков символов). Все остальные классы, работающие с потоками, яв
ляются наследниками этих абстрактных классов.
Какие интерфейсы реализует InputStream/ OutputStream/ Reader/

Writer?

InputStream реализует интерфейсы: Closeable и AutoCloseable OutputStream реализует интерфейсы: Closeable, Flushable, AutoCloseable Reader реализует интерфейсы: Closeable, AutoCloseable, Readable

Writer реализует интерфейсы: Closeable, Flushable
, Appendable, AutoCloseable

На каком паттерне основана иерархия потоков вводаывода?

Объекты классов Java, которые используются для ввода/вывода, для обеспечения необходимой функциональности наслаиваются друг на друга. Такая модель взаимодействия объектов поддерживается в паттерне

«Декоратор». В этом паттерне при создании потока нужно использовать несколь