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