Потоки названы не для того, как вы используете их внутри своего кода, а для того, что они выполняют .InputStream
выполняет чтение ввода из-за пределов вашей программы (консоли, файла и т. Д.), Тогда как OutputStream
выполняет запись вывода в другое место (опять же,консоль, файл и т. д.).Ваш Java-код является всего лишь посредником в этом сценарии: чтобы использовать входные данные, вы должны прочитать их из потока, а для получения выходных данных сначала нужно что-то записать в поток.
Проблема с именованием заключается только в том, что в проектируемых потоках всегда есть что-то, что входит, а что-то выходит - вы всегда можете читать и писать в / с любым потоком.Все, что вам нужно помнить, это то, что они названы для более важной задачи , которую они выполняют: взаимодействуя с чем-то за пределами вашего кода.