缓冲区Buffer-Buffer操作基本API
生活随笔
收集整理的這篇文章主要介紹了
缓冲区Buffer-Buffer操作基本API
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
緩沖區實際上是一個容器對象,更直接的說,其實就是一個數組,在NIO 庫中,所有數據都是用緩沖區處理的。在讀取數據時,它是直接讀到緩沖區中的; 在寫入數據時,它也是寫入到緩沖區中的;任何時候訪問NIO 中的數據,都是將它放到緩沖區中。而在面向流I/O 系統中,所有數據都是直接寫入或者直接將數據讀取到Stream 對象中。在NIO 中,所有的緩沖區類型都繼承于抽象類Buffer,最常用的就是ByteBuffer,對于Java 中的基本類型,基本都有一個具體Buffer 類型與之相對應,它們之間的繼承關系如下圖所示:
下面是一個簡單的使用IntBuffer 的例子:
import java.nio.IntBuffer; public class IntBufferDemo { public static void main(String[] args) {// 分配新的int 緩沖區,參數為緩沖區容量// 新緩沖區的當前位置將為零,其界限(限制位置)將為其容量。它將具有一個底層實現數組,其數組偏移量將為零。IntBuffer buffer = IntBuffer.allocate(8);for (int i = 0; i < buffer.capacity(); ++i) {int j = 2 * (i + 1);// 將給定整數寫入此緩沖區的當前位置,當前位置遞增buffer.put(j);}// 重設此緩沖區,將限制設置為當前位置,然后將當前位置設置為0buffer.flip();// 查看在當前位置和限制位置之間是否有元素while (buffer.hasRemaining()) {// 讀取此緩沖區當前位置的整數,然后當前位置遞增int j = buffer.get();System.out.print(j + " ");}} }?
總結
以上是生活随笔為你收集整理的缓冲区Buffer-Buffer操作基本API的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java NIO 三件套
- 下一篇: SaaS-基础概念