当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。