Определение потока

Я читаю потоки ввода/вывода Java, и я смущен правильным определением, связанным с ними.

  • Некоторые говорят, что поток - это своего рода конвейер, в котором передаются данные...
  • другие говорят, что поток - это поток или последовательность данных...
  • другие говорят, что поток является соединение с входом или выходом источник...

Итак, какое правильное определение?

Ответ 1

Поток - это понятие, но оно не настолько строгое, что только одно описание будет правильным.

Поток ввода/вывода представляет источник ввода или конечный пункт вывода. Поток может представлять множество различных источников и пунктов назначения, включая файлы на диске, устройства, другие программы и массивы памяти. Потоки поддерживают множество различных типов данных, включая простые байты, примитивные типы данных, локализованные символы и объекты. Некоторые потоки просто передают данные; другие манипулируют и преобразуют данные полезными способами.

Независимо от того, как они работают внутри, все потоки представляют одну и ту же простую модель для программ, которые используют их: поток представляет собой последовательность данных.

От: http://download.oracle.com/javase/tutorial/essential/io/streams.html

Также поток представляет собой либо входной поток, либо выходной поток. Если это входной поток, в Java он будет придерживаться интерфейса InputStream, последний - Outputstream.

(Замечание: в криптографии есть, например, разница между потоковыми и блочными шифрами, где потоковый шифр - это то, что не знает (в очень общем смысле) ничего о будущем, в то время как блочный шифр знает его (максимум ) размер и размеры всех последующих блоков.)

Ответ 2

Я бы сказал, что Stream похож на все эти, но не совсем такие.

Я бы сказал, что это упорядоченная последовательность 8-битных байтов.

Ответ 3

Java-программы выполняют операции ввода-вывода через потоки. Поток - это абстракция который либо производит, либо потребляет информацию. Поток связан с физическое устройство с помощью системы ввода/вывода Java. Все потоки ведут себя одинаково образом, даже если фактические физические устройства, с которыми они связаны отличаются. Таким образом, те же классы и методы ввода-вывода могут применяться к любым тип устройства. Это означает, что входной поток может абстрагировать многие различные виды ввода: из файла диска, клавиатуры или сети разъем. Аналогично, выходной поток может ссылаться на консоль, диск файла или сетевого подключения. Потоки - это чистый способ борьбы с ввода/вывода, не учитывая, что каждая часть вашего кода понимает разница между клавиатурой и сетью, например. Ява реализует потоки в иерархиях классов, определенных в java.io пакет.

От: Java Полная ссылка

Ответ 4

Java выполняет потоки вывода ввода-вывода. Поток - это абстракция, которая либо производит, либо потребляет информацию. Поток связан с физическим устройством потоком ввода-вывода java. Потоки - это очищенный способ обработки ввода или вывода без понимания каждой части кода. Java определяет два типа потока: байт и символ

Ответ 5

В моем представлении поток точки на самом деле представляет собой конвейерную ленту, как вы упомянули в первой точке. Фактически, существуют два типа потока, ввода и вывода. Входной поток используется для чтения данных с устройства ввода, например, с помощью ключевых слов и записи что данные в файлы и выходной поток используются для чтения данных с дисков, файлов и т.д. и записывают эти данные в устройство вывода, такое как консоль, монитор и т.д. Простым способом является мост, который помогает переносить вещи из одной точки в другую.

Ответ 6

Подумайте об этом так: Потоки - это объекты, которые вы можете запросить кусочками данных или отправить части данных.