Método ByteBuffer getInt() en Java con ejemplos

getInt()

El método getInt() de la clase java.nio.ByteBuffer se usa para leer los siguientes cuatro bytes en la posición actual de este búfer, componiéndolos en un valor int de acuerdo con el orden de bytes actual y luego incrementa la posición en cuatro.

Sintaxis:

public abstract int getInt()

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

Lanza: este método lanza BufferUnderflowException : si quedan menos de cuatro bytes en este búfer.
A continuación se muestran los ejemplos para ilustrar el método getInt():

Ejemplos 1:

// Java program to demonstrate
// getInt() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the ByteBuffer
        int capacity = 12;
  
        // Creating the ByteBuffer
        try {
  
            // creating object of ByteBuffer
            // and allocating size capacity
            ByteBuffer bb = ByteBuffer.allocate(capacity);
  
            // putting the int value in the bytebuffer
            bb.asIntBuffer()
                .put(10)
                .put(20)
                .put(30);
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // print the ByteBuffer
            System.out.println("Original ByteBuffer: ");
            for (int i = 1; i <= capacity / 4; i++)
                System.out.print(bb.getInt() + " ");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Reads the Int at this buffer's current position
            // using getInt() method
            int value = bb.getInt();
  
            // print the int value
            System.out.println("\n\nByte Value: " + value);
  
            // Reads the int at this buffer's next position
            // using getInt() method
            int value1 = bb.getInt();
  
            // print the int value
            System.out.println("Next Byte Value: " + value1);
        }
  
        catch (BufferUnderflowException e) {
  
            System.out.println("\nException Thrown : " + e);
        }
    }
}
Producción:

Original ByteBuffer: 
10 20 30 

Byte Value: 10
Next Byte Value: 20

Ejemplos 2:

// Java program to demonstrate
// getInt() 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 int value in the bytebuffer
            bb.asIntBuffer()
                .put(10)
                .put(20);
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // print the ByteBuffer
            System.out.println("Original ByteBuffer: ");
            for (int i = 1; i <= capacity / 4; i++)
                System.out.print(bb.getInt() + " ");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Reads the Int at this buffer's current position
            // using getInt() method
            int value = bb.getInt();
  
            // print the int value
            System.out.println("\n\nByte Value: " + value);
  
            // Reads the int at this buffer's next position
            // using getInt() method
            int value1 = bb.getInt();
  
            // print the int value
            System.out.println("Next Byte Value: " + value1);
  
            // Reads the int at this buffer's next position
            // using getInt() method
            int value2 = bb.getInt();
        }
  
        catch (BufferUnderflowException e) {
            System.out.println("\nthere are fewer than "
                               + "four bytes remaining in this buffer");
            System.out.println("Exception Thrown : " + e);
        }
    }
}
Producción:

Original ByteBuffer: 
10 20 

Byte Value: 10
Next Byte Value: 20

there are fewer than four bytes remaining in this buffer
Exception Thrown : java.nio.BufferUnderflowException

Referencia: https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#getInt–

getInt(índice int)

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

Sintaxis:

public abstract int getInt(int index)

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

Valor de retorno: este método devuelve el valor int 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 getInt(int index) :

Ejemplos 1:

// Java program to demonstrate
// getInt() 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 int value in the bytebuffer
            bb.asIntBuffer()
                .put(10)
                .put(20);
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // print the ByteBuffer
            System.out.println("Original ByteBuffer: ");
            for (int i = 1; i <= capacity / 4; i++)
                System.out.print(bb.getInt() + " ");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Reads the Int at this buffer's current position
            // using getInt() method
            int value = bb.getInt(0);
  
            // print the int value
            System.out.println("\n\nByte Value: " + value);
  
            // Reads the int at this buffer's next position
            // using getInt() method
            int value1 = bb.getInt(4);
  
            // print the int value
            System.out.println("Next Byte Value: " + value1);
        }
  
        catch (IndexOutOfBoundsException e) {
  
            System.out.println("\nindex is negative or smaller "
                               + "than the buffer's limit, minus seven");
            System.out.println("Exception Thrown : " + e);
        }
    }
}
Producción:

Original ByteBuffer: 
10 20 

Byte Value: 10
Next Byte Value: 20

Ejemplos 2:

// Java program to demonstrate
// getInt() 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 int value in the bytebuffer
            bb.asIntBuffer()
                .put(10)
                .put(20);
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // print the ByteBuffer
            System.out.println("Original ByteBuffer: ");
            for (int i = 1; i <= capacity / 4; i++)
                System.out.print(bb.getInt() + " ");
  
            // rewind the Bytebuffer
            bb.rewind();
  
            // Reads the Int at this buffer's current position
            // using getInt() method
            int value = bb.getInt(0);
  
            // print the int value
            System.out.println("\n\nByte Value: " + value);
  
            // Reads the int at this buffer's next position
            // using getInt() method
            int value1 = bb.getInt(7);
  
            // print the int value
            System.out.println("Next Byte Value: " + value1);
        }
  
        catch (IndexOutOfBoundsException e) {
  
            System.out.println("\nindex is negative or smaller"
                               + " than the buffer's limit, minus seven");
            System.out.println("Exception Thrown : " + e);
        }
    }
}
Producción:

Original ByteBuffer: 
10 20 

Byte Value: 10

index is negative or smaller than the buffer's limit, minus seven
Exception Thrown : java.lang.IndexOutOfBoundsException

Referencia: https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#getInt-int-

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 *