类 | 描述 |
---|---|
Buffer |
用于特定原始类型的数据的容器。
|
ByteBuffer |
一个字节缓冲区。
|
ByteOrder |
字节顺序的类型安全枚举。
|
CharBuffer |
一个char缓冲区。
|
DoubleBuffer |
双缓冲。
|
FloatBuffer |
一个浮动缓冲区。
|
IntBuffer |
一个int缓冲区
|
LongBuffer |
一个很长的缓冲区。
|
MappedByteBuffer |
直接字节缓冲器,其内容是文件的存储器映射区域。
|
ShortBuffer |
一个短暂的缓冲。
|
异常 | 描述 |
---|---|
BufferOverflowException |
相对
放置操作达到目标缓冲区限制时抛出的未检查异常。
|
BufferUnderflowException |
当相对
get操作达到源缓冲区的限制时抛出未检查的异常。
|
InvalidMarkException |
当未定义其标记时尝试复位缓冲区时抛出未检查的异常。
|
ReadOnlyBufferException |
在只读缓冲区中调用诸如
put或
compact之类的内容突变方法时抛出未经检查的异常。
|
NIO API的中心抽象是:
Buffers ,它们是数据容器;
Charsets及其相关解码器和编码器 ,
它在字节和Unicode字符之间进行转换;
Channels各种类型,代表连接
能够执行I / O操作的实体; 和
选择器和选择键 ,与
可选择的渠道定义了一个multiplexed, non-blocking
I/O设施。
java.nio包定义了在整个NIO API中使用的缓冲区类。 charset API在java.nio.charset
包中定义,通道和选择器API在java.nio.channels
包中定义。 这些子包中的每一个都有自己的服务提供商(SPI)子包,其内容可以用于扩展平台的默认实现或构建替代实现。
Buffers
描述
Buffer
Position, limit, and capacity;
clear, flip, rewind, and mark/resetByteBuffer
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
缓冲区是用于固定数量的特定原始类型的数据的容器。 除了内容之外,缓冲区还有一个位置 ,它是要读取或写入的下一个元素的索引,以及一个限制 ,它是不应被读取或写入的第一个元素的索引。 基座Buffer
类定义了这些属性以及清除 , 翻转和倒带 ,用于标记当前位置以及将位置重置为上一个标记的方法。
每个非布尔基元类型都有一个缓冲区类。 每个类定义一组用于将数据移出和移入缓冲区的get和put方法,用于压缩 , 复制和分割缓冲区的方法,以及用于分配新缓冲区以及将现有阵列包装到一个缓冲区中的静态方法缓冲。
字节缓冲区的区别在于它们可以用作I / O操作的源和目标。 它们还支持其他缓冲区类中没有的几个功能:
字节缓冲区可以分配为direct缓冲区,在这种情况下,Java虚拟机将尽力在其上直接执行本地I / O操作。
字节缓冲区可以通过以下方式创建mapping
的文件的区域直接进入存储器,在这种情况下,在定义了一些额外的文件相关的操作MappedByteBuffer
类是可用的。
一个字节缓冲区提供对其内容的访问,作为任何非布尔基元类型的非同构或同构序列的binary data ,以大端或小端byte order 。
除非另有说明,否则将null参数传递给此程序包中任何类或接口中的构造函数或方法将导致抛出NullPointerException
。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.