The java.nio.CharBuffer
is a class we can use to store a buffer of characters. We can use this class’s rewind()
method to rewind a buffer. Rewinding a buffer sets the buffer position to zero.
Note:
- The
of the buffer remains unaffected. limit Limit of a buffer is its first index that should not be read or written. - Any position previously marked is discarded.
The CharBuffer.rewind()
method is declared as follows:
buff.rewind()
buff
: The CharBuffer
to rewind.The CharBuffer.rewind()
method returns the CharBuffer
buff
after rewinding.
Consider the code snippet below, which demonstrates the use of the CharBuffer.rewind()
method.
import java.nio.*;import java.util.*;public class main {public static void main(String[] args) {int n1 = 4;int n2 = 4;try {CharBuffer buff1 = CharBuffer.allocate(n1);buff1.put('a');buff1.put('c');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('d');System.out.println("buff1: " + Arrays.toString(buff1.array()));} catch (IllegalArgumentException e) {System.out.println("Error!!! IllegalArgumentException");} catch (ReadOnlyBufferException e) {System.out.println("Error!!! ReadOnlyBufferException");}}}
CharBuffer
buff1
is declared in line 8.buff1
using the put()
method in line 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
.Free Resources