กรณีการใช้งานทั่วไปอย่างหนึ่งสำหรับการByteBuffer
สร้างโครงสร้างข้อมูลทีละชิ้นแล้วเขียนโครงสร้างทั้งหมดลงดิสก์ flip
จะใช้ในการพลิกByteBuffer
จาก "การอ่านจาก I / O" ( put
ทิ้ง) เพื่อ "เขียน I / O" ( get
การใช้งาน): หลังจากลำดับของput
s จะใช้ในการเติมByteBuffer
, flip
จะกำหนดวงเงินของบัฟเฟอร์ไปยังตำแหน่งปัจจุบัน และรีเซ็ตตำแหน่งเป็นศูนย์ สิ่งนี้มีผลในการสร้างอนาคตget
หรือwrite
จากบัฟเฟอร์เขียนสิ่งที่อยู่put
ในบัฟเฟอร์ทั้งหมดและไม่มีอีกต่อไป
หลังจากเสร็จสิ้นput
คุณอาจต้องการใช้ซ้ำByteBuffer
เพื่อสร้างโครงสร้างข้อมูลอื่น หากต้องการ "พลิก" โทรclear
. สิ่งนี้จะรีเซ็ตขีด จำกัด เป็นความจุ (ทำให้บัฟเฟอร์ทั้งหมดสามารถใช้งานได้) และตำแหน่งเป็น 0
ดังนั้นสถานการณ์การใช้งานทั่วไป:
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);
}