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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。