Урок 18

Потоки ввода - вывода


1. Потоки данных

В Java для описания работы по вводу/выводу используется специальное понятие – поток данных (stream). Поток данных связан с некоторым источником или приемником данных, способных получать или предоставлять информацию. Соответственно, потоки делятся на входные - читающие данные, и на выходные - передающие (записывающие) данные.

Потоки данных

Потоки данных — это упорядоченные последовательности данных, которым соответствует определенный источник (source) (для потоков ввода) или получатель (destination) (для потоков вывода). В Java потоки ввода-вывода реализуются в пределах иерархии классов, Определенных в пакете jаvа.io. Классы ввода-вывода Java исключают необходимость вникать в особенности низкоуровневой организации операционных систем и предоставляют доступ к системным ресурсам посредством методов работы с файлами и иных инструментов.

Все потоки ввода-вывода ведут себя одинаково, несмотря на отличия в конкретных физических устройствах, с которыми они связаны. Одни и те же классы и методы ввода-вывода применимы к разнотипным устройствам. Абстракция потока ввода может охватывать разные типы ввода: из файла на диске, клавиатуры или сетевого соединения.

2. Типы потоков данных

В JAVA существует 2 типа потоков данных:

  • Символьные потоки (text-streams, последовательности 16-битовых символов Unicode), содержащие символы.Символьные потоки
  • Байтовые потоки (binary-streams), содержащие 8-ми битную информацию.Байтовые потоки

Классы разделяются также по направлению потоков:

  • Потоки ввод (input)
  • Потоки вывода (output)

В Java определены четыре основных абстрактных класса для работы с потоками:

Основные абстрактные классы потоков данных

3. Общая схема работы с потоками в Java

Общая схема работы с потоками в Java описывается тремя простыми шагами:

  1. Создать потоковый объект и ассоциировать его с файлом на диске.
  2. Пока есть информация, читать/писать очередные данные в/из потока.
  3. Закрыть поток.


0 comments
Leave your comment: