Потоки ввода-вывода (I/O streams)
Коротко: Основной принцип API ввода-вывода Java: данные текут непрерывным потоком между источником (файл, сеть, консоль) и программой.
Подробнее: Java различает байтовые потоки (InputStream/OutputStream, для двоичных данных) и символьные потоки (Reader/Writer, для текстовых данных с кодировкой символов).
Подробности
Байтовые потоки (двоичные данные) Символьные потоки…
См. также: FileInputStream, FileOutputStream, BufferedReader, файлы