java.nio.FloatBuffer
is a class we can use to store a buffer of floats.
We can use this class’s rewind()
method to rewind a buffer. Rewinding a buffer sets the buffer position to zero.
- Limit of the buffer remains unaffected.
- Any position previously marked is discarded.
The FloatBuffer.rewind()
method is declared as follows:
buff.rewind()
buff
: The FloatBuffer
to rewind.The FloatBuffer.rewind()
method returns the FloatBuffer
buff
after rewinding.
Consider the code snippet below, which demonstrates the use of the FloatBuffer.rewind()
method.
import java.nio.*;import java.util.*;public class main {public static void main(String[] args) {int n1 = 4;int n2 = 4;try {FloatBuffer buff1 = FloatBuffer.allocate(n1);buff1.put(1.5F);buff1.put(4.6F);System.out.println("buff1: " + Arrays.toString(buff1.array()));System.out.println("position at(before rewind): " + buff1.position());System.out.println("rewind()");buff1.rewind();System.out.println("position at(after rewind): " + buff1.position());buff1.put(1.9F);System.out.println("buff1: " + Arrays.toString(buff1.array()));} catch (IllegalArgumentException e) {System.out.println("Error!!! IllegalArgumentException");} catch (ReadOnlyBufferException e) {System.out.println("Error!!! ReadOnlyBufferException");}}}
FloatBuffer
buff1
is declared in line 8.buff1
using the put()
method in lines 9-10. After adding the first element, the position of buff1
is incremented from 0 to 1. After adding the second element, the position of buff1
is incremented from 1 to 2.rewind()
method in line 16, the position of buff1
is set to 0. This is why calling the put()
method on buff1
adds the element at the 0th index of buff1
.