JAVA基础知识之NIO——Buffer

Posted 云中之歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA基础知识之NIO——Buffer相关的知识,希望对你有一定的参考价值。

 

 

 

 1 package nio;
 2 
 3 import java.nio.CharBuffer;
 4 
 5 public class BufferTest {
 6     public static void main(String[] args) {
 7         //创建Buffer
 8         CharBuffer buff = CharBuffer.allocate(8);
 9         System.out.println("capacity: "+buff.capacity());
10         System.out.println("limit: "+buff.limit());
11         System.out.println("position: "+buff.position());
12         //放入元素
13         buff.put(‘a‘);
14         buff.put(‘b‘);
15         buff.put(‘c‘);
16         System.out.println("放入3个元素后,position: "+buff.position());
17         buff.flip();
18         System.out.println("执行flip()后,limit: "+buff.limit()+", position: "+buff.position());
19         //取出第一个元素
20         System.out.println("第一个元素(position=0): "+buff.get());
21         System.out.println("取出第一个元素后,position:" +buff.position());
22         buff.clear();
23         System.out.println("执行clear()后,limit: "+buff.limit()+" ,position: "+buff.position());
24         System.out.println("执行clear()后,buffer并没有被清除。第三个元素为: "+buff.get(2));
25         System.out.println("执行绝对读取后, position: "+buff.position());
26     }
27 }

 

 

 1 capacity: 8
 2 limit: 8
 3 position: 0
 4 放入3个元素后,position: 3
 5 执行flip()后,limit: 3, position: 0
 6 第一个元素(position=0): a
 7 取出第一个元素后,position:1
 8 执行clear()后,limit: 8 ,position: 0
 9 执行clear()后,buffer并没有被清除。第三个元素为: c
10 执行绝对读取后, position: 0

 

以上是关于JAVA基础知识之NIO——Buffer的主要内容,如果未能解决你的问题,请参考以下文章

Java之NIO

Java-NIO 之 Buffer 与 Channel

Java NIO 之 ByteBuffer 测试用例

Java NIO:NIO概述

《Java源码分析》:Java NIO 之 Buffer

Java NIO之缓冲