Назначение базового класса InputStream — представлять классы, которые получают данные из различных источников. Такими источниками могут быть:
· массив байтов;
· строка (String);
· файл;
· «канал» (pipe): данные помещаются с одного «конца» и извлекаются с другого;
· последовательность различных потоков, которые можно объединить в одном потоке;
· другие источники (например, подключение к Интернету).
С каждым из перечисленных источников связывается некоторый подкласс базового класса InputStream (табл. 16.1). Существует еще класс FilterInputStream, который также является производным классом InputStream и представляет собой основу для классов-«надстроек», наделяющих входные потоки полезными свойствами и интерфейсами. Его мы обсудим чуть позже.
