FileInputStream
Коротко: Байтовый поток для сырого небуферизованного чтения файла — читает файл байт за байтом, независимо от того, текст это, изображение или другой двоичный формат.
Подробнее: Поскольку чисто байтовый поток работает без промежуточного буфера, он медлителен при множестве мелких обращений на чтение — на практике его поэтому обычно сочетают с буферизованной обёрткой. Для чистого текста символьный читатель (корректно учитывающий кодировку) обычно подходит лучше сырого байтового потока.
Подробности
Ядро FileInputStream намеренно…
См. также: потоки ввода-вывода, BufferedReader, FileOutputStream