Поток данных ( англ. data stream ) в телекоммуникациях и программировании - это последовательность кодированных когерентных сигналов (пакетов данных) в цифровой форме, которая используется, чтобы передавать или получить информацию это находится в передаче.
В электронике и компьютерной архитектуре, поток данных определяет, в течение какого времени какой элемент данных может войти или покинуть систему. Часто поток данных видится, как альтернатива потоку команд, с тех пор, как фон-неймановская машина управляется потоком команд - тогда как его альтернатива, антимашина, управляется потоком данных.
В программировании с потоком данных часто ассоциируется поток - абстракция, которая используется для чтения или записи файлов, сокетов и т.д. в единой манере. Потоки являются удобным унифицированным программным интерфейсом для чтения или записи файлов (в том числе специальных и, в частности, связанных с устройствами), сокетов и передачи данных между процессами. Поддержка потоков включена в большинстве языков программирования и едва ли не во все современные операционные системы. При запуске процесса ему предоставляются так называемые стандартные потоки. Возможность перенаправления потоков позволяет связывать различные программы, и придает системе гибкость, что является частью философии Unix.