El método order() de la clase java.nio.ByteBuffer se utiliza para recuperar el orden de bytes de este búfer. El orden de los bytes se utiliza al leer o escribir valores multibyte y al crear búferes que son vistas de este búfer de bytes. El orden de un búfer de bytes recién creado siempre es BIG_ENDIAN.
Sintaxis:
public final ByteOrder order()
Valor devuelto: este método devuelve el orden de bytes de este búfer.
A continuación se muestran los ejemplos para ilustrar el método order():
Ejemplos 1:
// Java program to demonstrate // order() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(12); // 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 <= 3; i++) System.out.print(bb.getInt() + " "); // rewind the Bytebuffer bb.rewind(); // Reads the Int at this buffer's current position // using order() method ByteOrder value = bb.order(); // print the int value System.out.println("\n\nByte Value: " + value); } }
Original ByteBuffer: 10 20 30 Byte Value: BIG_ENDIAN
Ejemplos 2:
// Java program to demonstrate // order() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(12); // Reads the Int at this buffer's current position // using order() method ByteOrder value = bb.order(); // print the int value System.out.println("Byte Value: " + value); } }
Byte Value: BIG_ENDIAN
El método order(ByteOrder bo) de ByteBuffer se utiliza para modificar el orden de bytes de este búfer.
Sintaxis:
public final ByteBuffer order(ByteOrder bo)
Parámetros: este método toma el nuevo orden de bytes, ya sea BIG_ENDIAN o LITTLE_ENDIAN como parámetro.
Valor devuelto: este método devuelve este búfer.
A continuación se muestran los ejemplos para ilustrar el método order(ByteOrder bo) :
Ejemplos 1:
// Java program to demonstrate // order() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(12); // Reads the Int at this buffer's current position // using order() method ByteOrder oldbyteorder = bb.order(); // print the result System.out.println("Old Byte Order: " + oldbyteorder); // Modifies this buffer's byte order // by using order() method ByteBuffer bb1 = bb.order(ByteOrder.nativeOrder()); // Reads the Int at this buffer's current position // using order() method ByteOrder newbyteorder = bb1.order(); // print the result System.out.println("New Byte Order: " + newbyteorder); } }
Old Byte Order: BIG_ENDIAN New Byte Order: LITTLE_ENDIAN
Ejemplos 2:
// Java program to demonstrate // order() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(12); // 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 <= 3; i++) System.out.print(bb.getInt() + " "); // rewind the Bytebuffer bb.rewind(); // Reads the Int at this buffer's current position // using order() method ByteOrder oldbyteorder = bb.order(); // print the result System.out.println("Old Byte Order: " + oldbyteorder); // Modifies this buffer's byte order // by using order() method ByteBuffer bb1 = bb.order(ByteOrder.nativeOrder()); // Reads the Int at this buffer's current position // using order() method ByteOrder newbyteorder = bb1.order(); // print the result System.out.println("New Byte Order: " + newbyteorder); } }
Original ByteBuffer: 10 20 30 Old Byte Order: BIG_ENDIAN New Byte Order: LITTLE_ENDIAN
Referencia:
- https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#order–
- https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#order-java.nio.ByteOrder-
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA