Clase java.nio.CharBuffer en Java

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]

Publicación traducida automáticamente

Artículo escrito por mank1083 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *