Most visited

Recently visited

Added in API level 1

java.nio

Defines buffers, which are containers for data, and provides an overview of the other NIO packages.

NIO API的核心抽象是:

java.nio包定义了在整个NIO API中使用的缓冲区类。 charset API在java.nio.charset包中定义,通道和选择器API在java.nio.channels包中定义。 这些子包中的每一个都有自己的服务提供者(SPI)子包,其内容可用于扩展平台的默认实现或构建其他实现。

缓冲区

描述

Buffer Position, limit, and capacity;
clear, flip, rewind, and mark/reset
  ByteBuffer Get/put, compact, views; allocate, wrap
    MappedByteBuffer   A byte buffer mapped to a file
  CharBuffer Get/put, compact; allocate, wrap
  DoubleBuffer     ' '
  FloatBuffer     ' '
  IntBuffer     ' '
  LongBuffer     ' '
  ShortBuffer     ' '
ByteOrder Typesafe enumeration for byte orders

A buffer is a container for a fixed amount of data of a specific primitive type. In addition to its content a buffer has a position, which is the index of the next element to be read or written, and a limit, which is the index of the first element that should not be read or written. The base Buffer类定义了这些属性以及用于 清除翻转倒带标记当前位置以及将位置 重置为前一个标记的方法。

每个非布尔基元类型都有一个缓冲区类。 每个类定义了一系列用于将数据移出和移入缓冲区的getput方法,用于压缩复制分割缓冲区的方法,以及用于分配新缓冲区的静态方法以及用于现有数组封装到缓冲。

字节缓冲区的区别在于它们可以用作I / O操作的源和目标。 它们还支持其他缓冲区类中找不到的几项功能:

除非另有说明,否则将 null参数传递给此包中的任何类或接口中的构造函数或方法将导致引发 NullPointerException

Classes

Buffer 一个特定基元类型数据的容器。
ByteBuffer 一个字节缓冲区。
ByteOrder 字节顺序的类型安全枚举。
CharBuffer 一个字符缓冲区。
DoubleBuffer 双缓冲区。
FloatBuffer 一个浮点缓冲区。
IntBuffer 一个int缓冲区。
LongBuffer 很长的缓冲区。
MappedByteBuffer 直接字节缓冲区,其内容是文件的内存映射区域。
ShortBuffer 一个短缓冲区。

Exceptions

BufferOverflowException 相对 放置操作达到目标缓冲区限制时引发的未检查异常。
BufferUnderflowException 当相对 获取操作达到源缓冲区限制时引发的未检查异常。
InvalidMarkException 未定义标记时尝试重置缓冲区时抛出未经检查的异常。
ReadOnlyBufferException 在只读缓冲区上调用 putcompact等内容突变方法时引发未经检查的异常。

Hooray!