WebLogic Messaging API Class Library |

# IStreamMessage.ReadBytes Method

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.

int ReadBytes(
Byte[] value
);

#### Parameters

Byte[]
  the buffer into which the data is read

#### Return Value

the total number of bytes read into the buffer, or -1 if there is no more data because the end of the byte field has been reached

#### Exceptions

Exception Type | Condition
--- | ---
MessageException | if JMS fails to read the message due to some internal error.
MessageEOFException | if unexpected end of message stream has been reached.
MessageFormatException | if this type conversion is invalid.
MessageNotReadableException | if the message is in write-only mode.

#### See Also

IStreamMessage Interface | WebLogic.Messaging Namespace | ReadObject()