當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java java.nio.CharBuffer用法及代碼示例


CharBuffer 保存要在 I/O 操作中使用的整數值序列。 CharBuffer 類提供以下四類針對長緩衝區的操作:

  • 讀取單個字符的絕對和相對 get 方法。
  • 寫入單個字符的絕對和相對放置方法。
  • 相對批量放置和獲取方法,將連續的字符序列從 int 數組或其他一些字符緩衝區傳輸到此緩衝區,並從此緩衝區傳輸到數組。

短緩衝區可以通過以下方式創建:

  • allocate():這為緩衝區的內容分配空間。
  • wrap():這會將現有的長數組包裝到緩衝區中。

CharBuffer 類的大多數方法與 ByteBuffer 定義的方法直接類似。

類別聲明:

public abstract class CharBuffer

extends Buffer

implements Comparable<CharBuffer>, Appendable, CharSequence, Readable

CharBuffer類的方法:

方法 說明
allocate(int capacity) 此方法分配一個新的字符緩衝區。
CharBuffer append() 此方法將指定的字符附加到此緩衝區。
CharBuffer append() 此方法將指定的字符序列附加到此緩衝區。
CharBuffer append() 此方法將指定字符序列的子序列附加到此緩衝區
CharBuffer array() 此方法返回支持此緩衝區的字符數組
CharBuffer arrayOffset() 此方法返回緩衝區第一個元素在該緩衝區的後備數組中的偏移量
CharBuffer asReadOnlyBuffer() 此方法創建一個新的隻讀字符緩衝區,共享該緩衝區的內容。
CharBuffer charAt() 此方法讀取相對於當前位置的給定索引處的字符。
CharBuffer compact() 該方法壓縮該緩衝區
CharBuffer compareTo() 此方法將此緩衝區與另一個緩衝區進行比較。
duplicate() 此方法創建一個新的字符緩衝區,共享該緩衝區的內容。
CharBuffer equals() 此方法告知此緩衝區是否等於另一個對象。
CharBuffer get() 該方法是一個相對的get方法並返回
CharBuffer get() 該方法是一個相對批量獲取方法並返回
CharBuffer get() 該方法是一個相對批量獲取方法並返回
CharBuffer get() 該方法是絕對的get方法並返回
CharBuffer hasArray() 此方法告知此緩衝區是否由可訪問的字符數組支持。
hashCode() 該方法返回該緩衝區的當前哈希碼。
isDirect() 這個方法告訴我們這個字符緩衝區是否是直接的。
CharBuffer length() 此方法返回該字符緩衝區的長度。
CharBuffer order() 該方法檢索該緩衝區的字節順序。
CharBuffer put() 該方法是一個相對的 put 方法並返回
CharBuffer put() 該方法是相對批量放置方法並返回
CharBuffer put() 該方法是相對批量放置方法並返回
CharBuffer put() 該方法是相對批量放置方法並返回
CharBuffer put() 該方法是絕對的 put 方法並返回
CharBuffer put() 該方法是相對批量放置方法並返回
CharBuffer put() 該方法是相對批量放置方法並返回
CharBuffer read() 此方法嘗試將字符讀入指定的字符緩衝區。
CharBuffer slice() 此方法創建一個新的字符緩衝區,其內容是該緩衝區內容的共享子序列。
CharBuffer subSequence() 此方法創建一個新的字符緩衝區,表示該緩衝區相對於當前位置的指定子序列。
toString() 此方法返回包含此緩衝區中的字符的字符串。
CharBuffer wrap() 此方法將字符數組包裝到緩衝區中。
CharBuffer wrap() 此方法將字符數組包裝到緩衝區中。
CharBuffer wrap() 此方法將字符序列包裝到緩衝區中。
CharBuffer wrap() 此方法將字符序列包裝到緩衝區中。

以下是一些演示CharBuffer類及其方法的程序:

示例 1:

Java


// Java program to demonstrate 
// CharBuffer class 
  
import java.nio.*; 
import java.util.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // Declaring the capacity of the CharBuffer 
        char capacity = 10; 
  
        // Creating the CharBuffer 
  
        // creating object of Charbuffer 
        // and allocating size capacity 
        CharBuffer fb = CharBuffer.allocate(capacity); 
  
        // putting the value in charbuffer 
        fb.put('a'); 
        fb.put(5, 'b'); 
          fb.put(7, 'c'); 
  
        // Printing the CharBuffer 
        System.out.println("ChartBuffer: "
                        + Arrays.toString(fb.array())); 
    } 
} 

輸出:

ChartBuffer: [a, , , , , b, , c, , ]

示例 2:

Java


// Java program to demonstrate 
// CharBuffer class 
  
import java.nio.*; 
import java.util.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // Declaring the capacity of the CharBuffer 
        int capacity = 4; 
  
        // Creating the CharBuffer 
        try { 
  
            // creating object of CharBuffer 
            // and allocating size capacity 
            CharBuffer charbuffer 
                = CharBuffer.allocate(capacity); 
  
            // append the value in CharBuffer 
            // using append() method 
            charbuffer.append('a') 
                .append('b') 
                .append('c') 
                  .append('d') 
                .rewind(); 
  
            // print the CharBuffer 
            System.out.println("Original CharBuffer: "
                            + Arrays.toString( 
                                    charbuffer.array())); 
        } 
  
        catch (BufferOverflowException e) { 
  
            System.out.println("Exception throws : " + e); 
        } 
  
        catch (ReadOnlyBufferException e) { 
  
            System.out.println("Exception throws : " + e); 
        } 
    } 
} 

輸出:

Original CharBuffer: [a, b, c, d]


相關用法


注:本文由純淨天空篩選整理自mank1083大神的英文原創作品 java.nio.CharBuffer Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。