İçin oldukça yaygın bir kullanım durumu, ByteBufferbazı veri yapılarını parça parça inşa etmek ve daha sonra tüm yapıyı diske yazmaktır. flipçevirmek için kullanılan ByteBuffer"I / O okuma" (den putiçin ting) "I yazma / O" ( gettim) bir dizi sonra puts doldurmak için kullanılır ByteBuffer, flipmevcut konumuna göre tampon sınırı koyacaktır ve konumu sıfırlayın. Bu, bir gelecek yapma etkisine sahiptir getya writeda arabellekten tüm olanı arabelleğe yazıp putdaha fazlasını değil.
Bitirdikten sonra put, ByteBufferbaşka bir veri yapısı oluşturmak için yeniden kullanmak isteyebilirsiniz . "Açmak" için arayın clear. Bu, kapasitenin sınırını (tamponun tamamını kullanılabilir hale getirir) ve konumu 0'a sıfırlar.
Dolayısıyla, tipik bir kullanım senaryosu:
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);
}