El método flip() de java.nio.CharBuffer Class se usa para voltear este búfer. El límite se establece en la posición actual y luego la posición se establece en cero. Si la marca está definida, se descarta. Después de una secuencia de operaciones de lectura o colocación de canal, invoque este método para prepararse para una secuencia de operaciones de escritura de canal o de obtención relativa.
Por ejemplo:
buf.put(magia); // Anteponer encabezado
in.read(buf); // Leer datos en el resto del búfer
buf.flip(); // Voltea el
búfer.write(buf); // Escribir encabezado + datos en el canal
Este método se usa a menudo junto con el método compact() cuando se transfieren datos de un lugar a otro.
Sintaxis:
public final CharBuffer flip()
Valor devuelto: este método devuelve este búfer.
A continuación se muestran los ejemplos para ilustrar el método flip():
Ejemplos 1:
// Java program to demonstrate // flip() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declare and initialize the char array char[] cb = { 'a', 'b', 'c' }; // wrap the char array into CharBuffer // using wrap() method CharBuffer charBuffe r = CharBuffer.wrap(cb); // set position at index 1 charBuffer.position(1); // print the char buffer System.out.println("CharBuffer before flip: " + Arrays.toString( charBuffer.array()) + "\nPosition: " + charBuffer.position() + "\nLimit: " + charBuffer.limit()); // Flip the charBuffer // using flip() method charBuffer.flip(); // print the byte buffer System.out.println("\nCharBuffer after flip: " + Arrays.toString( charBuffer.array()) + "\nPosition: " + charBuffer.position() + "\nLimit: " + charBuffer.limit()); } }
CharBuffer before flip: [a, b, c] Position: 1 Limit: 3 CharBuffer after flip: [a, b, c] Position: 0 Limit: 1
Ejemplos 2:
// Java program to demonstrate // flip() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // defining and allocating CharBuffer // using allocate() method CharBuffer charBuffer = CharBuffer.allocate(4); // append char value in charBuffer // using append() method charBuffer.append('a'); charBuffer.append('b'); // print the char buffer System.out.println("CharBuffer before flip: " + Arrays.toString( charBuffer.array()) + "\nPosition: " + charBuffer.position() + "\nLimit: " + charBuffer.limit()); // Flip the charBuffer // using flip() method charBuffer.flip(); // print the char buffer System.out.println("CharBuffer before flip: " + Arrays.toString( charBuffer.array()) + "\nPosition: " + charBuffer.position() + "\nLimit: " + charBuffer.limit()); } }
CharBuffer before flip: [a, b, c, ] Position: 3 Limit: 4 CharBuffer before flip: [a, b, c, ] Position: 0 Limit: 3
Referencia: https://docs.oracle.com/javase/9/docs/api/java/nio/CharBuffer.html#flip–
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA