poner (byte b)
El método put(byte b) de java.nio.ByteBuffer Class se usa para escribir el byte dado en el búfer de bytes recién creado en la posición actual y luego incrementa la posición.
Sintaxis:
public abstract ByteBuffer put(byte f)
Parámetros: este método toma el valor de byte b como un parámetro que se escribirá en el búfer de bytes.
Valor devuelto: este método devuelve este búfer, en el que se inserta el valor del byte.
Excepción: este método arroja las siguientes excepciones:
- BufferOverflowException: si la posición actual de este búfer no es más pequeña que su límite
- ReadOnlyBufferException : si este búfer es de solo lectura
A continuación se muestran los ejemplos para ilustrar el método put(byte b):
Ejemplo 1:
// Java program to demonstrate // put() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ByteBuffer int capacity = 3; // Creating the ByteBuffer try { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(capacity); // putting the value in ByteBuffer using put() method bb.put((byte)10) .put((byte)20) .put((byte)30) .rewind(); // print the ByteBuffer System.out.println("Original ByteBuffer: " + Arrays.toString(bb.array())); } catch (BufferOverflowException e) { System.out.println("Exception throws : " + e); } catch (ReadOnlyBufferException e) { System.out.println("Exception throws : " + e); } } }
Original ByteBuffer: [10, 20, 30]
Ejemplo 2: Para demostrar BufferOverflowException.
// Java program to demonstrate // put() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ByteBuffer int capacity = 3; // Creating the ByteBuffer try { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(capacity); // putting the value in ByteBuffer using put() method bb.put((byte)10) .put((byte)20) .put((byte)30); // print the ByteBuffer System.out.println("Original ByteBuffer: " + Arrays.toString(bb.array())); // again putting the value in ByteBuffer // using put() method System.out.println("\nBuffer position : " + bb.position()); bb.put((byte)40); } catch (BufferOverflowException e) { System.out.println("buffer's current position " + "is not smaller than its limit"); System.out.println("Exception throws : " + e); } catch (ReadOnlyBufferException e) { System.out.println("Exception throws : " + e); } } }
Original ByteBuffer: [10, 20, 30] Buffer position : 3 buffer's current position is not smaller than its limit Exception throws : java.nio.BufferOverflowException
Ejemplos 3: Para demostrar ReadOnlyBufferException.
// Java program to demonstrate // put() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ByteBuffer int capacity = 3; // Creating the ByteBuffer try { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(capacity); // putting the value in ByteBuffer using put() method bb.put((byte)10) .put((byte)20) .put((byte)30); // print the ByteBuffer System.out.println("Original ByteBuffer: " + Arrays.toString(bb.array())); // Creating a read-only copy of ByteBuffer // using asReadOnlyBuffer() method ByteBuffer bb1 = bb.asReadOnlyBuffer(); System.out.println("\nTrying to put the byte value" + " in read only buffer"); // putting the value in readonly ByteBuffer // using put() method bb1.put((byte)40); } catch (BufferOverflowException e) { System.out.println("buffer's current position " + "is not smaller than its limit"); System.out.println("Exception throws : " + e); } catch (ReadOnlyBufferException e) { System.out.println("Exception throws : " + e); } } }
Original ByteBuffer: [10, 20, 30] Trying to put the byte value in read only buffer Exception throws : java.nio.ReadOnlyBufferException
Referencia: https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#put-byte-
put(índice int, byte f)
El método put(int index, byte f) de java.nio.ByteBuffer Class se usa para escribir el byte dado en el búfer en el índice dado.
Sintaxis:
public abstract ByteBuffer put(int index, byte f)
Parámetros: Este método toma los siguientes argumentos como parámetro:
- index : el índice en el que se escribirá el byte
- f : El valor del byte que se escribirá
Valor devuelto: este método devuelve este búfer.
Excepción: este método arroja la siguiente excepción:
- IndexOutOfBoundsException: si el índice es negativo o no más pequeño que el límite del búfer
- ReadOnlyBufferException : si este búfer es de solo lectura
A continuación se muestran los ejemplos para ilustrar el método put(int index, byte f):
Ejemplo 1:
// Java program to demonstrate // put() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ByteBuffer int capacity = 3; // Creating the ByteBuffer try { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(capacity); // putting the value in ByteBuffer using put() at index 0 bb.put(0, (byte)10); // putting the value in ByteBuffer using put() at index 2 bb.put(2, (byte)20); // putting the value in ByteBuffer using put() at index 1 bb.put(1, (byte)30); // rewinding the ByteBuffer bb.rewind(); // print the ByteBuffer System.out.println("Original ByteBuffer: " + Arrays.toString(bb.array())); } catch (IndexOutOfBoundsException e) { System.out.println("Exception throws : " + e); } catch (ReadOnlyBufferException e) { System.out.println("Exception throws : " + e); } } }
Original ByteBuffer: [10, 30, 20]
Ejemplo 2: Para demostrar IndexOutOfBoundsException.
// Java program to demonstrate // put() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ByteBuffer int capacity = 3; // Creating the ByteBuffer try { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(capacity); // putting the value in ByteBuffer using put() at index 0 bb.put(0, (byte)10); // putting the value in ByteBuffer using put() at index 2 bb.put(2, (byte)20); // putting the value in ByteBuffer using put() at index 1 bb.put(1, (byte)30); // rewinding the ByteBuffer bb.rewind(); // print the ByteBuffer System.out.println("Original ByteBuffer: " + Arrays.toString(bb.array())); // putting the value in ByteBuffer using put() at index -1 bb.put(-1, (byte)40); } catch (IndexOutOfBoundsException e) { System.out.println("\nindex is negative or not smaller " + "than the buffer's limit"); System.out.println("Exception throws : " + e); } catch (ReadOnlyBufferException e) { System.out.println("Exception throws : " + e); } } }
Original ByteBuffer: [10, 30, 20] index is negative or not smaller than the buffer's limit Exception throws : java.lang.IndexOutOfBoundsException
Ejemplo 3: Para demostrar ReadOnlyBufferException.
// Java program to demonstrate // put() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ByteBuffer int capacity = 3; // Creating the ByteBuffer try { // creating object of ByteBuffer // and allocating size capacity using allocate() method ByteBuffer bb = ByteBuffer.allocate(capacity); // Creating a read-only copy of ByteBuffer // using asReadOnlyBuffer() method ByteBuffer bb1 = bb.asReadOnlyBuffer(); System.out.println("Trying to put the byte value" + " in read only buffer"); // putting the value in readonly ByteBuffer // using put() method bb1.put(0, (byte)10); } catch (IndexOutOfBoundsException e) { System.out.println("Exception throws : " + e); } catch (ReadOnlyBufferException e) { System.out.println("Exception throws : " + e); } } }
Trying to put the byte value in read only buffer Exception throws : java.nio.ReadOnlyBufferException
Referencia: https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#put-int-byte-
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA