Salah satu kasus penggunaan yang cukup umum untuk the ByteBuffer
adalah untuk membuat beberapa struktur data sepotong demi sepotong dan kemudian menulis seluruh struktur itu ke disk. flip
digunakan untuk membalikkan ByteBuffer
dari "membaca dari I / O" ( put
ting) ke "menulis ke I / O" ( get
ting): setelah urutan put
s digunakan untuk mengisi ByteBuffer
, flip
akan mengatur batas buffer ke posisi saat ini dan setel ulang posisi ke nol. Ini memiliki efek membuat masa depan get
atau write
dari buffer menulis semua apa yang ada put
di buffer dan tidak lebih.
Setelah menyelesaikan put
, Anda mungkin ingin menggunakan kembali ByteBuffer
untuk 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);
}