博为峰Java技术题 ——JavaSE Java NIO Ⅳ

博为峰小博老师:

Buffer的常见方法如下所示:

lflip(): 写模式转换成读模式

lrewind():将 position重置为0,一般用于重复读。

lclear():清空buffer,准备再次被写入 (position变成0,limit变成capacity) 。

lcompact(): 将未读取的数据拷贝到buffer的头部位。

lmark(): reset():mark 可以标记一个位置,reset 可以重置到该位置。

lBuffer常见类型: ByteBuffer 、 MappedByteBuffer 、 CharBuffer 、 DoubleBuffer 、 FloatBuffer 、 IntBuffer 、 LongBuffer 、 ShortBuffer 。

[通道Channel]

通道(Channel)是 java.nio 的第二个主要创新。它们既不是一个扩展也不是一项增强,而是全新、极好的 Java I/O 示例,提供与 I/O 服务的直接连接。Channel用于在字节缓冲区和位于通道另一侧的实体(通常是一个文件或套接字)之间有效地传输数据。

通道是一种途径,借助该途径,可以用最小的总开销来访问操作系统本身的 I/O 服务。缓冲区则是通道内部用来发送和接收数据的端点。通道channel充当连接I/O服务的导管,入下图所示:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容