Java如何在写入和读取之间更改缓冲模式?
可以读取或写入缓冲区。为了在写模式和读模式之间切换模式,我们flip()在缓冲区上使用了方法调用。
在写模式与读模式之间进行切换时,您应该了解的几件事。缓冲器具有capacity,position和limit属性。该capacity会一直在写或读模式相同。但是position和limit会在每种模式下存储不同的信息。
在写模式下,limit它将等于容量,但在读模式下,limit将等于写入最后数据的最后位置。在position对写入模式地步的数据将在缓冲区中写入。调用flip()方法时,position将设置为0,limit将设置为的最后一个值position。
package org.nhooo.example.io;
import java.nio.CharBuffer;
public class BufferFlip {
public static void main(String[] args) {
CharBuffer buffer = CharBuffer.allocate(1024);
System.out.println("capacity = " + buffer.capacity());
System.out.println("position = " + buffer.position());
System.out.println("limit = " + buffer.limit());
buffer.put("Java NIO Programming");
System.out.println("capacity = " + buffer.capacity());
System.out.println("position = " + buffer.position());
System.out.println("limit = " + buffer.limit());
buffer.flip();
System.out.println("capacity = " + buffer.capacity());
System.out.println("position = " + buffer.position());
System.out.println("limit = " + buffer.limit());
}
}该程序将打印以下结果:
capacity = 1024 position = 0 limit = 1024 capacity = 1024 position = 20 limit = 1024 capacity = 1024 position = 0 limit = 20
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短