Reads a byte array field from the stream message into the specified
byte[]
object (the read buffer).
To read the field value, readBytes
should be successively called until it returns a value less than the length of the read buffer. The value of the bytes in the buffer following the last byte read is undefined.
If readBytes
returns a value equal to the length of the buffer, a subsequent readBytes
call must be made. If there are no more bytes to be read, this call returns -1.
If the byte array field value is null, readBytes
returns -1.
If the byte array field value is empty, readBytes
returns 0.
Once the first readBytes
call on a byte[]
field value has been made, the full value of the field must be read before it is valid to read the next field. An attempt to read the next field before that has been done will throw a MessageFormatException
.
To read the byte field value into a new byte[]
object, use the readObject
method.
@param value the buffer into which the data is read
@return the total number of bytes read into the buffer, or -1 if there isno more data because the end of the byte field has been reached
@throws JMSException if the JMS provider fails to read the message due tosome internal error.
@throws MessageEOFException if unexpected end of message stream has beenreached.
@throws MessageFormatException if this type conversion is invalid.
@throws MessageNotReadableException if the message is in write-only mode.
@see #readObject()