El método rewind() de java.nio.FloatBuffer Class se utiliza para rebobinar este búfer. Este método establece la posición a cero y el límite no se ve afectado y si hay alguna posición que se marcó previamente, se descartará. Este método debe invocarse cuando hay alguna necesidad de secuencia de escritura de canal o operaciones de obtención. Significa que si los datos del búfer ya están escritos, es necesario copiarlos en otra array. Por ejemplo:
out.write(buf); // Writes the remaining data buf.rewind(); // Rewind the buffer buf.get(array); // Copy data into array
Sintaxis:
public final FloatBuffer rewind()
Parámetros: El método no toma ningún parámetro.
Valor devuelto: el 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 FloatBuffer // using allocate() method FloatBuffer floatBuffer = FloatBuffer.allocate(4); // put char value in FloatBuffer // using put() method floatBuffer.put(10.5f); floatBuffer.put(20.5f); // print the float buffer System.out.println("Buffer before operation: " + Arrays.toString( floatBuffer.array()) + "\nPosition: " + floatBuffer.position() + "\nLimit: " + floatBuffer.limit()); // rewind the Buffer // using rewind() method floatBuffer.rewind(); // print the floatbuffer System.out.println("\nBuffer after operation: " + Arrays.toString( floatBuffer.array()) + "\nPosition: " + floatBuffer.position() + "\nLimit: " + floatBuffer.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 FloatBuffer // using allocate() method FloatBuffer floatBuffer = FloatBuffer.allocate(5); // put float value in floatBuffer // using put() method floatBuffer.put(10.5f); floatBuffer.put(20.5f); floatBuffer.put(30.5f); // mark will be going to discarded by rewind() floatBuffer.mark(); // print the buffer System.out.println("Buffer before operation: " + Arrays.toString( floatBuffer.array()) + "\nPosition: " + floatBuffer.position() + "\nLimit: " + floatBuffer.limit()); // Rewind the Buffer // using rewind() method floatBuffer.rewind(); // print the buffer System.out.println("\nBuffer after operation: " + Arrays.toString( floatBuffer.array()) + "\nPosition: " + floatBuffer.position() + "\nLimit: " + floatBuffer.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/FloatBuffer.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