How to use byte array as a short article in Java
•
Java
I have a byte array with size n. this array really represents n / 2 with different sizes Before writing an array to a disk file, I need to adjust the value by adding an offset value stored in another array In C, I will assign the address of a byte array to a pointer to a short array and use pointer arithmetic or a union
How to do this in Java - I'm new to Java btw
Solution
You can use Java nio. ByteBuffer wraps an array of bytes
byte[] bytes = ...
ByteBuffer buffer = ByteBuffer.wrap( bytes );
// you may or may not need to do this
//buffer.order( ByteOrder.BIG/LITTLE_ENDIAN );
ShortBuffer shorts = buffer.asShortBuffer( );
for ( int i = 0,n=shorts.remaining( ); i < n; ++i ) {
final int index = shorts.position( ) + i;
// Perform your transformation
final short adjusted_val = shortAdjuster( shorts.get( index ) );
// Put value at the same index
shorts.put( index,adjusted_val );
}
// bytes Now contains adjusted short values
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
