是否有一個乾淨的確定的方法來檢測ByteBuffer是否需要翻轉?ByteBuffer,什麼是乾淨的方式來檢測是否需要翻轉
我有一個ByteBuffer,用於打包和解包數據結構,也用於存儲要打包/解包的字節。
但是,如果剛剛執行寫操作或執行了讀操作,或者如果ByteBuffer傳遞給我的代碼,我無法保證緩衝區處於寫模式或讀模式,而無需手動操作位置和限制。
部分讀取和寫入也會增加此問題。我一直採用約定,即緩衝區處於寫入模式,並且創建並複製副本以用於讀取目的。當一個緩衝區被傳遞到我的代碼是手動檢查和位置和限制設置爲他們將在寫模式。當然有更好的方法。
Java如何不能在API中提供這種封裝,這似乎是一個重要的功能......沒有它,如果您碰巧在「if」塊中使用flip(),則您無法確定是否處於讀取或寫入模式。 – mins 2014-07-04 17:40:40