El método rewind() de java.nio.DoubleBuffer Class se utiliza para rebobinar este búfer. Este método pone la posición a cero y el límite no se ve afectado y si hay alguna posición que se marcó previamente será descartada.
Este método debe invocarse cuando hay alguna necesidad de secuencia de escritura de canal o operaciones de obtención. Esto significa que si los datos del búfer ya están escritos, deben copiarse en otra array. Por ejemplo:
out.write(buf); // Writes remaining data buf.rewind(); // Rewind the buffer buf.get(array); // Copy the data into array
Sintaxis:
public final DoubleBuffer rewind()
Parámetros: El método no toma ningún parámetro.
Valor de retorno: este método devuelve este búfer.
A continuación se muestran los ejemplos para ilustrar el método rewind():
Ejemplos 1:
// Java program to demonstrate // rewind() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // defining and allocating DoubleBuffer // using allocate() method DoubleBuffer doubleBuffer = DoubleBuffer.allocate(4); // put char value in doubleBuffer // using put() method doubleBuffer.put(10.5); doubleBuffer.put(20.5); // print the double buffer System.out.println("Buffer before operation: " + Arrays.toString( doubleBuffer.array()) + "\nPosition: " + doubleBuffer.position() + "\nLimit: " + doubleBuffer.limit()); // rewind the Buffer // using rewind() method doubleBuffer.rewind(); // print the doublebuffer System.out.println("\nBuffer after operation: " + Arrays.toString( doubleBuffer.array()) + "\nPosition: " + doubleBuffer.position() + "\nLimit: " + doubleBuffer.limit()); } }
Buffer before operation: [10.5, 20.5, 0.0, 0.0] Position: 2 Limit: 4 Buffer after operation: [10.5, 20.5, 0.0, 0.0] Position: 0 Limit: 4
Ejemplos 2:
// Java program to demonstrate // rewind() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // defining and allocating DoubleBuffer // using allocate() method DoubleBuffer doubleBuffer = DoubleBuffer.allocate(5); // put double value in doubleBuffer // using put() method doubleBuffer.put(10.5); doubleBuffer.put(20.5); doubleBuffer.put(30.5); // mark will be going to discarded by rewind() doubleBuffer.mark(); // print the buffer System.out.println("Buffer before operation: " + Arrays.toString( doubleBuffer.array()) + "\nPosition: " + doubleBuffer.position() + "\nLimit: " + doubleBuffer.limit()); // Rewind the Buffer // using rewind() method doubleBuffer.rewind(); // print the buffer System.out.println("\nBuffer after operation: " + Arrays.toString( doubleBuffer.array()) + "\nPosition: " + doubleBuffer.position() + "\nLimit: " + doubleBuffer.limit()); } }
Buffer before operation: [10.5, 20.5, 30.5, 0.0, 0.0] Position: 3 Limit: 5 Buffer after operation: [10.5, 20.5, 30.5, 0.0, 0.0] Position: 0 Limit: 5
Referencia: https://docs.oracle.com/javase/9/docs/api/java/nio/DoubleBuffer.html#rewind–
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA