Сегодня я получил этот вопрос, для которого я думаю, что ответил очень плохо. Я сказал, что поток является данными, которые текут, и читатель является техникой, где мы читаем из этого, статические данные. Я знаю, что это - ужасный ответ, поэтому предоставьте мне четкое различие и определения между этими двумя с примером в Java.
Спасибо.
Как уже говорили другие, варианты использования для каждого немного отличаются (хотя они часто могут использоваться взаимозаменяемо)
Поскольку считыватели предназначены для чтения символов , они лучше, когда вы имеете дело с вводом текстового характера (или данными, представленными в виде символов). Я говорю лучше, потому что Читатели (в контексте типичного использования) по сути являются потоками с методами, которые легко облегчают чтение ввода символов.
Поток предназначен для чтения байтов, Reader - для чтения символов. Один символ может занимать один байт или больше, в зависимости от набора символов.
InputStream ориентирован на байты. Читатель ориентирован на персонажей.
Javadocs - ваш друг, объясняющий разницу. Читатель , InputStream