查询java.nio.Buffer读/写(翻转)状态

时间:2014-05-29 12:14:22

标签: java nio

似乎没有方法可以查询缓冲区是处于读取还是写入状态。

获得状态至少在单元测试中很有用。

获得国家的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

  

获得国家的最佳方式是什么?

没有一个。管理Buffers的最简单方法是让他们随时准备好阅读(=推杆),并在你想写(= get)时记住flip(),记住compact()或{{然后他们再回到阅读状态。

答案 1 :(得分:-1)

Buffer没有“读状态”或“写状态”。如果缓冲区支持它,它可以同时读写。

flip()方法简单:“将限制设置为当前位置,然后将位置设置为零。如果定义了标记,则将其丢弃。”

这里没有要改变的内部翻转状态。如果你有一个准备好的缓冲区,持有一千个字节,你可以读取一个字节,然后写一个字节,它将覆盖第二个...