Salah satu kasus penggunaan yang cukup umum untuk the ByteBufferadalah untuk membuat beberapa struktur data sepotong demi sepotong dan kemudian menulis seluruh struktur itu ke disk. flipdigunakan untuk membalikkan ByteBufferdari "membaca dari I / O" ( putting) ke "menulis ke I / O" ( getting): setelah urutan puts digunakan untuk mengisi ByteBuffer, flipakan mengatur batas buffer ke posisi saat ini dan setel ulang posisi ke nol. Ini memiliki efek membuat masa depan getatau writedari buffer menulis semua apa yang ada putdi buffer dan tidak lebih.
Setelah menyelesaikan put, Anda mungkin ingin menggunakan kembali ByteBufferuntuk membuat struktur data lain. Untuk "melepaskannya", panggil clear. Ini mengatur ulang batas kapasitas (membuat semua buffer dapat digunakan), dan posisi ke 0.
Jadi, skenario penggunaan tipikal:
ByteBuffer b = new ByteBuffer(1024);
for(int i=0; i<N; i++) {
b.clear();
b.put(header[i]);
b.put(data[i]);
b.flip();
out.write(b);
}