是否有内置的方式,或者,最简单的方法是,相对于标记翻转java NIO ByteBuffer?
也就是说,flip()
设置limit := position
然后设置position := 0
。我希望flipToMark()
例程设置limit := position
然后设置position := mark
。
答案 0 :(得分:5)
翻转会清除标记,但遗憾的是buffer.flip().reset()
无效。
buffer.limit(buffer.position()).reset()
怎么样?
答案 1 :(得分:0)
在许多情况下,创建从 mark
开始的视图缓冲区可能更容易(例如使用 slice()
),而不是实际设置 mark
。在这种情况下,您可以使用常规的 flip()
方法。