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]
相关用法
- Java java.nio.ByteBuffer用法及代码示例
- Java java.nio.IntBuffer用法及代码示例
- Java java.nio.file.FileStore用法及代码示例
- Java java.nio.FloatBuffer用法及代码示例
- Java java.nio.file.LinkPermission用法及代码示例
- Java java.nio.ShortBuffer用法及代码示例
- Java java.nio.DoubleBuffer用法及代码示例
- Java java.nio.channels.spi.SelectorProvider用法及代码示例
- Java java.nio.charset.CoderResult用法及代码示例
- Java java.nio.charset.CodingErrorAction用法及代码示例
- Java java.nio.channels.spi.AsynchronousChannelProvider用法及代码示例
- Java java.nio.charset.CharsetEncoder用法及代码示例
- Java java.nio.file.attribute.AclEntry用法及代码示例
- Java java.nio.charset.Charset用法及代码示例
- Java java.nio.LongBuffer用法及代码示例
- Java java.nio.channels.Selector用法及代码示例
- Java java.nio.file.spi.FileTypeDetector用法及代码示例
- Java java.nio.ByteOrder用法及代码示例
- Java java.nio.file.attribute.FileTime用法及代码示例
- Java java.nio.file.SimpleFileVisitor用法及代码示例
- Java java.nio.file.FileSystems用法及代码示例
- Java java.nio.Buffer用法及代码示例
- Java java.nio.file.FileSystem用法及代码示例
- Java java.nio.file.Paths用法及代码示例
- Java java.net.SocketException用法及代码示例
注:本文由纯净天空筛选整理自mank1083大神的英文原创作品 java.nio.CharBuffer Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。