public void putLong ( int pos , long l ) { adaptSize ( pos + 8 ) ; ByteBuffer bb = getBuffer ( pos ) ; int index = pos % _bufferSize ; if ( bb . limit ( ) - index >= 8 ) { bb . putLong ( index , l ) ; } else { byte b0 = ( byte ) l ; byte b1 = ( byte ) ( l >> 8 ) ; byte b2 = ( byte ) ( l >> 16 ) ; byte b3 = ( byte ) ( l >> 24 ) ; byte b4 = ( byte ) ( l >> 32 ) ; byte b5 = ( byte ) ( l >> 40 ) ; byte b6 = ( byte ) ( l >> 48 ) ; byte b7 = ( byte ) ( l >> 56 ) ; if ( _order == ByteOrder . BIG_ENDIAN ) { putBytes ( pos , b7 , b6 , b5 , b4 , b3 , b2 , b1 , b0 ) ; } else { putBytes ( pos , b0 , b1 , b2 , b3 , b4 , b5 , b6 , b7 ) ; } } }
Puts a 64 - bit integer into the buffer at the given position . Does not increase the write position .