Использование потоков (stream) данных в Java
1. Потоки данных
В Java для описания работы по вводу/выводу используется специальное понятие – поток данных (stream). Поток данных связан с некоторым источником или приемником данных, способных получать или предоставлять информацию. Соответственно, потоки делятся на входные - читающие данные, и на выходные - передающие (записывающие) данные.
Потоки данных — это упорядоченные последовательности данных, которым соответствует определенный источник (source) (для потоков ввода) или получатель (destination) (для потоков вывода). В Java потоки ввода вывода реализуются в пределах иерархии классов, Определенных в пакете java.io. Классы ввода вывода Java исключают необходимость вникать в особенности низкоуровневой организации операционных систем и предоставляют доступ к системным ресурсам посредством методов работы с файлами и иных инструментов.
Все потоки ввода вывода ведут себя одинаково, несмотря на отличия в конкретных физических устройствах, с которыми они связаны. Одни и те же классы и методы ввода вывода применимы к разнотипным устройствам. Абстракция потока ввода может охватывать разные типы ввода: из файла на диске, клавиатуры или сетевого соединения.
2. Типы потоков данных
В JAVA существует 2 типа потоков данных:
- Символьные потоки (text-streams, последовательности 16-битовых символов Unicode), содержащие символы.
- Байтовые потоки (binary-streams), содержащие восьми битную информацию.
Классы разделяются также по направлению потоков:
- Потоки ввода (input)
- Потоки вывода (output)
В Java определены четыре основных абстрактных классов для работы с потоками:
3. Общая схема работы с потоками в Java
Общая схема работы с потоками в Java описывается тремя простыми шагами:
- Создать потоковый объект и ассоциировать его с файлом на диске.
- Пока есть информация, читать/писать очередные данные в/из потока.
- Закрыть поток.
Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.