Método ByteBuffer getChar() en Java con ejemplos

getChar()

El método getChar() de la clase java.nio.ByteBuffer se usa para obtener el método para leer un valor de char

Lee los siguientes dos bytes en la posición actual de este búfer, componiéndolos en un valor de carácter de acuerdo con el orden de bytes actual y luego incrementa la posición en dos.

Sintaxis:

public abstract char getChar()

Valor devuelto: este método devuelve el valor de char en la posición actual del búfer

Lanza: este método lanza BufferUnderflowException : si la posición actual del búfer no es más pequeña que su límite, se lanza esta excepción.

A continuación se muestran los ejemplos para ilustrar el método getChar():

Ejemplos 1:

// Java program to demonstrate
// getChar() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the ByteBuffer
        int capacity = 50;
  
        // Creating the ByteBuffer
        try {
  
            // creating object of ByteBuffer
            // and allocating size capacity
            ByteBuffer bb = ByteBuffer.allocate(capacity);
  
            // putting the string in the bytebuffer
            bb.asCharBuffer().put("Geeks");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Declaring the variable
            char c;
  
            // print the ByteBuffer
            System.out.println("Original ByteBuffer: ");
            while ((c = bb.getChar()) != 0)
                System.out.print(c + " ");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Reads the char at this buffer's current position
            // using getChar() method
            char value = bb.getChar();
  
            // print the char value
            System.out.println("\n\nByte Value: " + value);
  
            // Reads the  char at this buffer's next position
            // using getChar() method
            char value1 = bb.getChar();
  
            // print the char value
            System.out.print("\nNext Byte Value: " + value1);
        }
  
        catch (IllegalArgumentException e) {
  
            System.out.println("\nException Thrown: " + e);
        }
  
        catch (ReadOnlyBufferException e) {
  
            System.out.println("\nException Thrown: " + e);
        }
  
        catch (BufferUnderflowException e) {
  
            System.out.println("\nException Thrown: " + e);
        }
    }
}
Producción:

Original ByteBuffer: 
G e e k s 

Byte Value: G

Next Byte Value: e

Ejemplos 2:

// Java program to demonstrate
// getChar() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the ByteBuffer
        int capacity = 8;
  
        // Creating the ByteBuffer
        try {
  
            // creating object of ByteBuffer
            // and allocating size capacity
            ByteBuffer bb = ByteBuffer.allocate(capacity);
  
            // putting the string in the bytebuffer
            bb.asCharBuffer().put("abc");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Declaring the variable
            char c;
  
            // print the ByteBuffer
            System.out.print("Original ByteBuffer: ");
            while ((c = bb.getChar()) != 0)
                System.out.print(c + " ");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Reads the char at this buffer's current position
            // using getChar() method
            char value = bb.getChar();
  
            // print the char value
            System.out.println("\n\nFirst char Value: " + value);
  
            // Reads the  char at this buffer's next position
            // using getChar() method
            char value1 = bb.getChar();
  
            // print the char value
            System.out.println("\nSecond char Value: " + value1);
  
            // Reads the  char at this buffer's next position
            // using getChar() method
            char value2 = bb.getChar();
  
            // print the char value
            System.out.println("\nThird char Value: " + value2);
  
            // Reads the  char at this buffer's next position
            // using getChar() method
            System.out.print("\nsince the buffer current position is incremented");
            System.out.print(" to greater than its limit ");
            char value3 = bb.getChar();
            char value4 = bb.getChar();
        }
  
        catch (BufferOverflowException e) {
  
            System.out.println("\nException Thrown: " + e);
        }
  
        catch (ReadOnlyBufferException e) {
  
            System.out.println("\nException Thrown: " + e);
        }
  
        catch (BufferUnderflowException e) {
  
            System.out.println("\nException Thrown: " + e);
        }
    }
}
Producción:

Original ByteBuffer: a b c 

First char Value: a

Second char Value: b

Third char Value: c

since the buffer current position is incremented to greater than its limit 
Exception Thrown: java.nio.BufferUnderflowException
obtener (índice int)

El método get(int index) de ByteBuffer se usa para leer dos bytes en el índice dado, componiéndolos en un valor char de acuerdo con el orden de bytes actual.

Sintaxis:

public abstract char getChar(int index)

Parámetros: este método toma el índice (el índice del que se leerá el byte) como parámetro.

Valor devuelto: este método devuelve el valor de char en el índice dado.

Excepción: este método genera una excepción IndexOutOfBoundsException . Si el índice es negativo o no menor que el límite del búfer, se lanza esta excepción.

A continuación se muestran los ejemplos para ilustrar el método get(int index) :

Ejemplos 1:

// Java program to demonstrate
// getChar() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the ByteBuffer
        int capacity = 50;
  
        // Creating the ByteBuffer
        try {
  
            // creating object of ByteBuffer
            // and allocating size capacity
            ByteBuffer bb = ByteBuffer.allocate(capacity);
  
            // putting the string in the bytebuffer
            bb.asCharBuffer().put("abc");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Declaring the variable
            char c;
  
            // print the ByteBuffer
            System.out.print("Original ByteBuffer: ");
            while ((c = bb.getChar()) != 0)
                System.out.print(c + " ");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Reads the char at this buffer's at index 0
            // using getChar() method
            char value0 = bb.getChar(0);
  
            // print the char value
            System.out.println("\n\nchar Value at index 0: "
                               + value0);
  
            // Reads the  char at this buffer's at index 2
            // using getChar() method
            char value1 = bb.getChar(2);
  
            // print the char value
            System.out.println("\nchar Value at index 2: "
                               + value1);
  
            // Reads the  char at this buffer's at index 4
            // using getChar() method
            char value2 = bb.getChar(4);
  
            // print the char value
            System.out.println("\nchar Value at index 4: "
                               + value2);
        }
  
        catch (IllegalArgumentException e) {
  
            System.out.println("\nException Thrown: " + e);
        }
  
        catch (ReadOnlyBufferException e) {
  
            System.out.println("\nException Thrown: " + e);
        }
  
        catch (BufferUnderflowException e) {
  
            System.out.println("\nException Thrown: " + e);
        }
    }
}
Producción:

Original ByteBuffer: a b c 

char Value at index 0: a

char Value at index 2: b

char Value at index 4: c

Ejemplos 2:

// Java program to demonstrate
// getChar() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the ByteBuffer
        int capacity = 50;
  
        // Creating the ByteBuffer
        try {
  
            // creating object of ByteBuffer
            // and allocating size capacity
            ByteBuffer bb = ByteBuffer.allocate(capacity);
  
            // putting the string in the bytebuffer
            bb.asCharBuffer().put("abc");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Declaring the variable
            char c;
  
            // print the ByteBuffer
            System.out.print("Original ByteBuffer: ");
            while ((c = bb.getChar()) != 0)
                System.out.print(c + " ");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Reads the char at this buffer's at index 0
            // using getChar() method
            char value0 = bb.getChar(0);
  
            // print the char value
            System.out.println("\n\nchar Value at index 0: "
                               + value0);
  
            // Reads the  char at this buffer's at index 2
            // using getChar() method
            char value1 = bb.getChar(2);
  
            // print the char value
            System.out.println("\nchar Value at index 2: "
                               + value1);
  
            // Reads the  char at this buffer's at index 4
            // using getChar() method
            System.out.println("\nTrying to get the char"
                               + " at negative index ");
            char value2 = bb.getChar(-4);
        }
  
        catch (IndexOutOfBoundsException e) {
  
            System.out.println("\nException Thrown: "
                               + e);
        }
  
        catch (ReadOnlyBufferException e) {
  
            System.out.println("\nException Thrown: "
                               + e);
        }
  
        catch (BufferUnderflowException e) {
  
            System.out.println("\nException Thrown: "
                               + e);
        }
    }
}
Producción:

Original ByteBuffer: a b c 

char Value at index 0: a

char Value at index 2: b

Trying to get the char at a negative index 

Exception Thrown: java.lang.IndexOutOfBoundsException

Referencia:

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 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 *