CharBuffer contiene una secuencia de valores enteros que se utilizarán en una operación de E/S. La clase CharBuffer proporciona las siguientes cuatro categorías de operaciones en búferes largos:
- Método de obtención absoluto y relativo que lee caracteres individuales.
- Métodos put absolutos y relativos que escriben caracteres individuales.
- Métodos put y get masivos relativos que transfieren secuencias contiguas de Chars desde una array int o algún otro búfer de Chars a este búfer y de este búfer a una array.
Los búferes cortos se pueden crear mediante:
- allocate(): Esto asigna espacio para el contenido del búfer.
- wrap(): esto envuelve una array larga existente en un búfer.
La mayoría de los métodos de la clase CharBuffer son directamente análogos a los métodos definidos por ByteBuffer.
Declaración de clase:
clase abstracta pública CharBuffer
extiende el búfer
implementa Comparable<CharBuffer>, Appendable, CharSequence, Readable
Métodos de la clase CharBuffer:
Método | Descripción |
---|---|
asignar (capacidad int) | Este método asigna un nuevo búfer de caracteres. |
agregar (carácter c) | Este método agrega el carácter especificado a este búfer. |
agregar (CharSequence csq) | Este método agrega la secuencia de caracteres especificada a este búfer. |
agregar (CharSequence csq, int inicio, int final) | Este método agrega una subsecuencia de la secuencia de caracteres especificada a este búfer |
formación() | Este método devuelve la array de caracteres que respalda este búfer |
arrayDesplazamiento() | Este método devuelve el desplazamiento dentro de la array de respaldo de este búfer del primer elemento del búfer |
comoReadOnlyBuffer() | Este método crea un nuevo búfer de caracteres de solo lectura que comparte el contenido de este búfer. |
charAt(índice int) | Este método lee el carácter en el índice dado relativo a la posición actual. |
compacto() | Este método compacta este búfer |
compareTo(CharBuffer eso) | Este método compara este búfer con otro. |
duplicar() | Este método crea un nuevo búfer de caracteres que comparte el contenido de este búfer. |
es igual a (Objeto ob) | Este método indica si este búfer es igual a otro objeto. |
obtener() | Este método es un método get relativo y devuelve |
obtener (char[] dst) | Este método es un método de obtención masiva relativa y devuelve |
get(char[] dst, int offset, int longitud) | Este método es un método de obtención masiva relativa y devuelve |
obtener (índice int) | Este método es un método de obtención absoluta y devuelve |
tieneArray() | Este método indica si este búfer está respaldado por una array de caracteres accesible. |
código hash() | Este método devuelve el código hash actual de este búfer. |
esDirecto() | Este método indica si este búfer de caracteres es directo. |
longitud() | Este método devuelve la longitud de este búfer de caracteres. |
ordenar() | Este método recupera el orden de bytes de este búfer. |
poner (caracter c) | Este método es un método put relativo y devuelve |
poner(char[] src) | Este método es un método de venta masiva relativa y devuelve |
put(char[] src, int offset, int longitud) | Este método es un método de venta masiva relativa y devuelve |
poner (CharBuffer src) | Este método es un método de venta masiva relativa y devuelve |
poner (índice int, char c) | Este método es un método put absoluto y devuelve |
poner(String origen) | Este método es un método de venta masiva relativa y devuelve |
put(String src, int inicio, int fin) | Este método es un método de venta masiva relativa y devuelve |
leer (objetivo CharBuffer) | Este método intenta leer caracteres en el búfer de caracteres especificado. |
rodaja() | Este método crea un nuevo búfer de caracteres cuyo contenido es una subsecuencia compartida del contenido de este búfer. |
subsecuencia (inicio int, fin int) | Este método crea un nuevo búfer de caracteres que representa la subsecuencia especificada de este búfer, en relación con la posición actual. |
Enstringr() | Este método devuelve una string que contiene los caracteres en este búfer. |
envolver (array de caracteres []) | Este método envuelve una array de caracteres en un búfer. |
wrap(array char[], compensación int, longitud int) | Este método envuelve una array de caracteres en un búfer. |
envolver(CharSequence csq) | Este método envuelve una secuencia de caracteres en un búfer. |
envolver (CharSequence csq, inicio int, final int) | Este método envuelve una secuencia de caracteres en un búfer. |
Los siguientes son algunos programas para demostrar la clase CharBuffer y sus métodos:
Ejemplo 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())); } }
Producción:
ChartBuffer: [a, , , , , b, , c, , ]
Ejemplo 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); } } }
Producción:
Original CharBuffer: [a, b, c, d]