Thursday 15 August 2013

java - How to read Integer from a file with NIO and not to get BufferUnderflowException? -


इस कोड में क्या गलत है? : <पूर्व> बाइटबफ़र बाइटबफर = बाइटबफर.ऑलोकेट (4); फ़ाइलचैनल चैनल = कैशफ़ाइल.गट चैनल (); Int bytesCount = channel.read (बाइटबफर, ऑफ़सेट); Int मान = बाइटबफ़र.गेटआईएनटी ();

अंतिम पंक्ति हमेशा बफ़रउन्डरफ्लो एक्सप्शन फेंकता है।

या तो एक का उपयोग करें पूर्ण पढ़ने से पहले बफर को प्राप्त करें या रीवाइंड करें:

  // विकल्प 1 int मान = byteBuffer.getInt (0); // विकल्प 2 बफर.वियंड (); Int मान = बाइटबफ़र.गेटआईएनटी ();   

हालांकि दस्तावेज़ तुरंत स्पष्ट नहीं हैं (जब तक आप लिंक पर क्लिक नहीं करते हैं), बफ़र की स्थिति में बफर में परिवर्तन पढ़ता है।

No comments:

Post a Comment