是否有一个干净的确定的方法来检测ByteBuffer是否需要翻转?ByteBuffer,什么是干净的方式来检测是否需要翻转
我有一个ByteBuffer,用于打包和解包数据结构,也用于存储要打包/解包的字节。
但是,如果刚刚执行写操作或执行了读操作,或者如果ByteBuffer传递给我的代码,我无法保证缓冲区处于写模式或读模式,而无需手动操作位置和限制。
部分读取和写入也会增加此问题。我一直采用约定,即缓冲区处于写入模式,并且创建并复制副本以用于读取目的。当一个缓冲区被传递到我的代码是手动检查和位置和限制设置为他们将在写模式。当然有更好的方法。
Java如何不能在API中提供这种封装,这似乎是一个重要的功能......没有它,如果您碰巧在“if”块中使用flip(),则您无法确定是否处于读取或写入模式。 – mins 2014-07-04 17:40:40