Java NIO 缓冲区操作全解析
1. 缓冲区基础操作
在 Java NIO 中,缓冲区是数据交互的重要组件。我们先来了解一些基础操作方法。
rewind() 方法与 flip() 类似,但它不会影响 limit ,仅将 position 置为 0。可以用它来重新读取已经 flip 过的缓冲区数据。若对缓冲区进行两次 flip 操作,缓冲区会变为零大小,此时调用 get() 会抛出 BufferUnderflowException ,调用 put() 会抛出 BufferOverflowException 。
2. 缓冲区数据抽取(Draining)
当把缓冲区传递给通道时,通道会从 position 开始,到 limit 结束抽取数据。如果接收到一个在别处填充好的缓冲区,在获取内容前可能需要先调用 flip() 。例如,通道 read() 操作完成后,若要查看通道放入缓冲区的数据,需在调用 get() 前先 flip() 缓冲区。
可以使用 hasRemaining() 方法判断抽取时是否到达缓冲区的 limit </
超级会员免费看
订阅专栏 解锁全文
1136

被折叠的 条评论
为什么被折叠?



