java.nio

王朝百科·作者佚名  2010-02-15  
宽屏版  字体:   |    |    |  超大  

软件包 java.nio 的描述

定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。

NIO API 的集中抽象为:

缓冲区,它们是数据容器;

字符集 及其相关解码器 和编码器,

它们在字节和 Unicode 字符之间进行转换;

各种类型的通道,它们表示到能够执行 IO 操作的

实体的连接;以及选择器 和选择键,它们与

可选择信道 一起定义了多路的、无阻塞的

I/O 设施。

java.nio 包定义了缓冲区类,这些类用于所有 NIO API。java.nio.charset 包中定义了字符集 API,java.nio.channels 包中定义了信道和选择器 API。每个子包都具有自己的服务提供程序接口 (SPI) 子包,SPI 子包的内容可用于扩展平台的默认实现或构造替代实现。

缓冲区

描述

Buffer 位置,界限和容量;

清除,反转,重绕和标记/重置

ByteBuffer Get/put,压缩,查看;分配,包装

MappedByteBuffer 映射到文件的字节缓冲区

CharBuffer Get/put,压缩;分配,包装

DoubleBuffer ' '

FloatBuffer ' '

IntBuffer ' '

LongBuffer ' '

ShortBuffer ' '

ByteOrder 字节顺序的类型安全的枚举

缓冲区 是一个固定数据量的指定基本类型的数据容器。除内容之外,缓冲区还具有位置 和界限,其中位置是要读写的下一个元素的索引,界限是第一个应该读写的元素的索引。基本 Buffer 类定义了这些属性以及清除、反转 和重绕 方法,用以标记 当前位置,以及将当前位置重置 为前一个标记处。

每个非布尔基本类型都有一个缓冲区类。每个类定义了一系列用于将数据移出或移入缓冲区的 get 和 put 方法,用于压缩、复制 和切片 缓冲区的方法,以及用于分配 新缓冲区和将现有数组包装 到缓冲区中的静态方法。

因为字节缓冲区可以用作 I/O 操作的源缓冲区和目标缓冲区,所以可以对它们加以区分。它们还支持其他缓冲区类所没有的几个特性:

可以将字节缓冲区分配为一个直接 缓冲区,在这种情况下,Java 虚拟机将最大限度地直接在缓冲区上执行本机 I/O 操作。

可以通过 mapping 将文件区域直接包装到内存中来创建字节缓冲区,在这种情况下,可以使用 MappedByteBuffer 类中定义的几个其他文件相关的操作。

字节缓冲区提供了对其内容的访问(其内容作为任何非布尔基本类型的异类或同类二进制数据序列),访问要么是以 big-endian 字节顺序进行,要么是以 little-endian 字节顺序进行。

除非另有说明,否则向此包的任何类或接口中的构造方法或方法传递 null 变量,都会抛出 NullPointerException。

从以下版本开始:

1.4

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有