Spec-Zone.ru › OpenJDK 21

Пакет java.nio

package java.nio
Определяет буферы, которые являются контейнерами для данных, и предоставляет обзор других пакетов NIO.

Центральными абстракциями API NIO являются:

  • Буферы, которые являются контейнерами для данных;

  • Кодировки символов и связанные с ними декодеры и кодировщики,
    которые осуществляют перевод между байтами и символами Юникода;

  • Каналы различных типов, которые представляют соединения
    с сущностями, способными выполнять операции ввода-вывода; и

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

  • Путь, который вместе с классом Файлы предоставляет доступ к файлам.

Пакет java.nio определяет классы буферов, которые используются во всех API NIO. API кодировок символов определён в пакете java.nio.charset, API каналов и селекторов в пакете java.nio.channels, а API файлов и путей в пакете java.nio.file. Каждый из этих подпакетов имеет свой подпакет интерфейсов поставщиков сервисов (SPI), содержимое которого может использоваться для расширения стандартных реализаций платформы или для создания альтернативных реализаций.

Описание различных буферов
Буферы Описание
Buffer Позиция, лимит и ёмкость; очистка, переворачивание, перемотка и пометка/сброс
ByteBuffer Получение/запись, уплотнение, представления; выделение, обертывание
MappedByteBuffer Байтовый буфер, сопоставленный с файлом
CharBuffer Получение/запись, уплотнение; выделение, обертывание
DoubleBuffer Получение/запись, уплотнение; выделение, обертывание
FloatBuffer Получение/запись, уплотнение; выделение, обертывание
IntBuffer Получение/запись, уплотнение; выделение, обертывание
LongBuffer Получение/запись, уплотнение; выделение, обертывание
ShortBuffer Получение/запись, уплотнение; выделение, обертывание
ByteOrder Безопасное перечисление порядков байтов

Буфер — это контейнер для фиксированного объёма данных определённого примитивного типа. Помимо содержимого, буфер имеет позицию, которая является индексом следующего элемента для чтения или записи, и предел, который является индексом первого элемента, который не должен читаться или записываться. Базовый класс Buffer определяет эти свойства, а также методы для очистки, переворачивания и перемотки, для пометки текущей позиции и для сброса позиции до предыдущей метки.

Существует класс буфера для каждого примитивного типа, кроме boolean. Каждый класс определяет набор методов получения и записи для перемещения данных из буфера и в буфер, методы для уплотнения, дублирования и разрезания буфера, а также статические методы для выделения нового буфера и обертывания существующего массива в буфер.

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

  • Байтовый буфер может быть выделен как прямой буфер, в этом случае виртуальная машина Java сделает всё возможное, чтобы выполнить операции родного ввода-вывода непосредственно над ним.

  • Байтовый буфер может быть создан с помощью mapping области файла непосредственно в память, в этом случае доступны несколько дополнительных файловых операций, определённых в классе MappedByteBuffer.

  • Байтовый буфер предоставляет доступ к своему содержимому как гетерогенной или гомогенной последовательности бинарных данных любого примитивного типа, отличного от boolean, в формате big-endian или little-endian порядка байтов.

Если не указано иное, передача null аргумента конструктору или методу любого класса или интерфейса в этом пакете приведёт к исключению NullPointerException.

Since:
1.4
Пакет Описание
java.nio.channels
Определяет каналы, которые представляют соединения с сущностями, способными выполнять операции ввода-вывода, такие как файлы и сокеты; определяет селекторы для мультиплексированных, асинхронных операций ввода-вывода.
java.nio.charset
Определяет кодировки символов, декодеры и кодировщики для перевода между байтами и символами Юникода.
java.nio.file
Определяет интерфейсы и классы для доступа виртуальной машины Java к файлам, атрибутам файлов и файловым системам.
Класс Описание
Buffer
Контейнер для данных определённого примитивного типа.
BufferOverflowException
Исключение, которое выбрасывается, когда относительная операция записи достигает предела буфера.
BufferUnderflowException
Исключение, которое выбрасывается, когда относительная операция чтения достигает предела буфера.
ByteBuffer
Байтовый буфер.
ByteOrder
Безопасное перечисление порядков байтов.
CharBuffer
Буфер символов.
DoubleBuffer
Буфер чисел с двойной точностью.
FloatBuffer
Буфер чисел с плавающей точкой.
IntBuffer
Буфер целых чисел.
InvalidMarkException
Исключение, которое выбрасывается, когда попытка сброса буфера не определяет метку.
LongBuffer
Буфер длинных целых чисел.
MappedByteBuffer
Прямой байтовый буфер, содержимое которого представляет собой область памяти, сопоставленную с файлом.
ReadOnlyBufferException
Исключение, которое выбрасывается, когда метод изменения содержимого, такой как put или compact, вызывается для только для чтения буфера.
ShortBuffer
Буфер коротких целых чисел.

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/package-summary.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API