Главная » Java » Байтовые потоки в Java

0

 

  В пакете Java.io определены, в частности, абстрактные классы, моделирующие базовые потоки ввода-вывода байтовых данных. Указанные абстрактные классы расширены с целью получения целого ряда полезных конкретных типов потоков. Потоковые типы почти всегда представлены парами: коль скоро, например, существует класс FilelnputStream, позволяющий выполнять ввод данных, вероятнее всего, имеется в наличии и "родственный" класс, FileOutputStream, осуществляющий вывод информации.

  Прежде чем окунуться в детали конкретных типов байтового ввода-вывода, целесообразно изучить особенности соответствующих базовых абстрактных классов, InputStream и OutputStream. Дерево иерархии типов java.io, ответственных за выполнение операций байтового ввода-вывода, представлено на рис. 15.1.

  Существует ряд особенностей, присущих всем байтовым потокам данных. Например, все они поддерживают механизм открытия и закрытия. Поток открывается при создании объекта класса и, оставаясь открытым, позволяет осуществлять операции чтения и записи данных. Поток закрывается при вызове метода close объекта. Закрытие потока служит цели высвобождения системных ресурсов (таких как дескрипторы открытых файлов), которые используются потоком; объект потока должен быть утилизирован сразу по окончании работы с ним. Если поток явно не закрывается, он продолжает существовать и расходовать системные ресурсы. В составе класса потока вполне допустимо определить соответствующую версию метода finalize, который смог бы освобождать ресурсы в период работы процесса сборки мусора, но гарантий своевременности и действенности результата, получаемого в этом случае, не существует. Потоки следует закрывать сразу после завершения их использования. Общими для всех байтовых потоков данных являются также политика синхронизации и характеристики поведения при попытках одновременного доступа ним со стороны нескольких потоков вычислений.

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии