Java Buffer.flip() 方法及代码示例
反转当前缓冲区. 限制设置为当前位置, 然后位置设置为零. 若已定义标记, 则将其丢弃.
定义
public Buffer flip()
返回值
返回当前 Buffer
说明
在一系列通道读取或放置操作之后, 调用此方法用以准备一系列通道写入或相关获取操作.
在将数据从一个地方传输到另一个地方时, 此方法通常与那些紧凑的方法结合使用(链式调用).
示例
使用 flip() 方法反转当前缓冲区的示例
package com.yi21.buffer; import java.nio.ByteBuffer; public class Yi21BufferFlip { public static void main(String[] args) { ByteBuffer buffer = ByteBuffer.allocate(4); buffer.put((byte) 50); buffer.put((byte) 49); buffer.put((byte) 121); buffer.put((byte) 105); System.out.println("未 flip:"); byte[] bs = new byte[4]; int i = 0; while(buffer.hasRemaining()) { bs[i] = buffer.get(); i ++; } System.out.println(new String(bs)); System.out.println("flip 后:"); buffer.flip(); bs = new byte[4]; i = 0; while(buffer.hasRemaining()) { bs[i] = buffer.get(); i ++; } System.out.println(new String(bs)); } }
执行结果为 :
未 flip: flip 后: 21yi