Работа InputStream состоит в представлении классов, которые производят ввод от различных источников. Источниками могут быть:
Каждый из них имеет ассоциированный подкласс InputStream. Кроме того, FilterInputStream также имеет тип InputStream, для обеспечения базового класса для "декоративных" классов, которые присоединяют атрибуты или полезные интерфейсы для входного потока. Это будет обсуждаться дальше.
Таблица 11-1. Типы InputStream
ByteArray-InputStream | Позволяет использовать буфер в памяти в качестве InputStream | Буфер, их которого извлекаются байты. | |
Как источник данных. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса. | |||
StringBuffer-InputStream | Конвертирует String в InputStream | String. Лежащая в основе реализация на самом деле использует StringBuffer. | |
Как источник данных. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса. | |||
File-InputStream | Для чтения информации из файла. | String, представляющий имя файла, или объекты File или FileDescriptor. | |
Как источник данных. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса. | |||
Piped-InputStream | Производит данные, которые были записаны в ассоциированный PipedOutput-Stream. Реализует концепцию “трубопровода”. | PipedOutputStream | |
Как источник данных при нескольких нитях процессов. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса. | |||
Sequence-InputStream | Преобразует два или более объектов InputStream в единый InputStream. | Два объекта InputStream или Enumeration для контейнера из InputStream. | |
Как источник данных. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса. | |||
Filter-InputStream | Абстрактный класс, который является интерфейсом для декоратора, который обеспечивает полезную функциональность для других классов InputStream. Смотрите таблицу11-3. | Смотрите таблицу 11-3. | |
Смотрите таблицу 11-3. |