Поток - это понятие, но оно не настолько строго, что только одно описание будет правильным.
Поток ввода / вывода представляет источник ввода или назначение вывода. Поток может представлять множество различных типов источников и назначений, включая дисковые файлы, устройства, другие программы и массивы памяти.
Потоки поддерживают множество различных типов данных, включая простые байты, примитивные типы данных, локализованные символы и объекты. Некоторые потоки просто передают данные; другие манипулируют данными и трансформируют их полезными способами.
Независимо от того, как они работают внутри, все потоки представляют одну и ту же простую модель программам , которые их используют: поток - это последовательность данных.
От: http://download.oracle.com/javase/tutorial/essential/io/streams.html
Также поток является либо входным потоком, либо выходным потоком. Если это входной поток, в Java он будет придерживаться интерфейса InputStream
, последний - Outputstream
.
(Примечание: в криптографии, например, есть разница между потоковым и блочным шифрами, где потоковый шифр - это то, что ничего не знает (в очень общем смысле) о будущем, тогда как блочный шифр заранее знает свой (максимальный) размер и размеры всех входящих блоков.)