के लिए एक काफी सामान्य उपयोग मामला ByteBuffer
है कुछ डेटा संरचना का निर्माण-दर-टुकड़ा और फिर उस संपूर्ण संरचना को डिस्क पर लिखना। "I / O से पढ़ना" ( ting) से "I / O के लिए लेखन " ( ting) flip
को फ्लिप करने के लिए उपयोग किया जाता है : s के अनुक्रम को भरने के लिए उपयोग किए जाने के बाद , बफर की सीमा को वर्तमान स्थिति पर सेट करेगा और स्थिति को शून्य पर रीसेट करें। यह भविष्य बनाने या बफर से जो कुछ भी बफर में था और नहीं और अधिक लिखने का प्रभाव है ।ByteBuffer
put
get
put
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);
}