7.4.1 BytesMessageインタフェース

BytesMessageインタフェースはバイトストリームを含むメッセージを送受信するために使用します。BytesMessageインタフェースはMessageインタフェースを継承しているため,Messageインタフェースの機能を持っています。

<この項の構成>
(1) ペイロードの設定と取得
(2) 形式
(3) フィールド
(4) メソッド

(1) ペイロードの設定と取得

BytesMessageインタフェースを使用することによってペイロードを設定および取得できます。このペイロードはバイトストリームです。JMSメッセージの各要素については,「2.5.1 JMSメッセージの構成」を参照してください。

(2) 形式

public interface BytesMessage extends Message
{
 public boolean readBoolean() throws JMSException;
 public byte    readByte() throws JMSException;
 public int     readBytes(byte[] value) throws JMSException;
 public int     readBytes(byte[] value, int length)
                  throws JMSException;
 public char    readChar() throws JMSException;
 public double  readDouble() throws JMSException;
 public float   readFloat() throws JMSException;
 public int     readInt() throws JMSException;
 public long    readLong() throws JMSException;
 public short   readShort() throws JMSException;
 public int     readUnsignedByte() throws JMSException;
 public int     readUnsignedShort() throws JMSException;
 public java.lang.String
                readUTF() throws JMSException;
 public void    reset() throws JMSException;
 public void    writeBoolean(boolean value) throws JMSException;
 public void    writeByte(byte value) throws JMSException;
 public void    writeBytes(byte[] value) throws JMSException;
 public void    writeBytes(byte[] value, int offset, int length)
                  throws JMSException;
 public void    writeChar(char value) throws JMSException;
 public void    writeDouble(double value) throws JMSException;
 public void    writeFloat(float value) throws JMSException;
 public void    writeInt(int value) throws JMSException;
 public void    writeLong(long value) throws JMSException;
 public void    writeObject(java.lang.Object value)
                  throws JMSException;
 public void    writeShort(short value) throws JMSException;
 public void    writeUTF(java.lang.String value) throws JMSException;
}

(3) フィールド

ありません。

(4) メソッド

「(2) 形式」に記載した順序で各メソッドを説明します。

(a) readBooleanメソッド

public boolean readBoolean() throws JMSException

バイトストリームからboolean型の値を読み取ります。

(b) readByteメソッド

public byte readByte() throws JMSException

バイトストリームから符号付き8ビット値を読み取ります。

(c) readBytesメソッド

public int readBytes(byte[] value) throws JMSException

バイトストリームからバイト配列を読み取ります。バイトストリームの長さより配列valueの長さが短い場合,配列valueの長さまでのバイトストリームを読み取ることができます。残りのバイトストリームも再度メソッドを発行することによって配列valueの長さまで読み取ることができます。バイトストリームの長さより配列valueの長さが長い場合,バイトストリームをすべて読み取ることができます。

このとき,読み取られる総バイト数を示す戻り値は,配列valueの長さよりも短くなり,バイトストリームから読み取るバイトが残っていないことを表します。バイトストリームからさらに読み取りを実行すると,-1を返します。

(d) readBytesメソッド

public int readBytes(byte[] value, int length) throws JMSException

バイトストリームの一部を読み取ります。

(e) readCharメソッド

public char readChar() throws JMSException

バイトストリームからUnicode文字値を読み取ります。

(f) readDoubleメソッド

public double readDouble() throws JMSException

バイトストリームからdouble値を読み取ります。

(g) readFloatメソッド

public float readFloat() throws JMSException

バイトストリームからfloat値を読み取ります。

(h) readIntメソッド

public int readInt() throws JMSException

バイトストリームから符号付き32ビット整数を読み取ります。

(i) readLongメソッド

public long readLong() throws JMSException

バイトストリームから符号付き64ビット整数を読み取ります。

(j) readShortメソッド

public short readShort() throws JMSException

バイトストリームから符号付き16ビット数を読み取ります。

(k) readUnsignedByteメソッド

public int readUnsignedByte() throws JMSException

バイトストリームから符号なし8ビット数を読み取ります。

(l) readUnsignedShortメソッド

public int readUnsignedShort() throws JMSException

バイトストリームから符号なし16ビット数を読み取ります。

(m) readUTFメソッド

public java.lang.String readUTF() throws JMSException

修正UTF-8形式を使用してエンコードされた文字列をバイトストリームから読み取ります。一度の発行で読み取られる文字列は65535バイトまでです。

(n) resetメソッド

public void reset() throws JMSException

ペイロードを書き込み専用モードから読み取り専用モードに移行してから,バイトストリームを先頭に再配置します。

(o) writeBooleanメソッド

public void writeBoolean(boolean value) throws JMSException

booleanをバイトストリームに1バイト値として書き込みます。

(p) writeByteメソッド

public void writeByte(byte value) throws JMSException

byteをバイトストリームに1バイト値として書き込みます。

(q) writeBytesメソッド

public void writeBytes(byte[] value) throws JMSException

バイト配列をバイトストリームに書き込みます。

(r) writeBytesメソッド

public void writeBytes(byte[] value, int offset, int length)
 throws JMSException

バイト配列の一部をバイトストリームに書き込みます。

(s) writeCharメソッド

public void writeChar(char value) throws JMSException

上位バイトを先頭とする2バイト値として,char型引数をバイトストリームに書き込みます。

(t) writeDoubleメソッド

public void writeDouble(double value) throws JMSException

Double.doubleToLongBits()メソッドを使用してdouble型引数をlongに変換し,上位バイトを先頭とする8バイトとして,long値をバイトストリームに書き込みます。

(u) writeFloatメソッド

public void writeFloat(float value) throws JMSException

Float.floatToIntBits()メソッドを使用してfloat型引数をintに変換し,上位バイトを先頭とする4バイトとして,int値をバイトストリームに書き込みます。

(v) writeIntメソッド

public void writeInt(int value) throws JMSException

上位バイトを先頭とする4バイト値として,int型引数をバイトストリームに書き込みます。

(w) writeLongメソッド

public void writeLong(long value) throws JMSException

上位バイトを先頭とする8バイト値として,long型引数をバイトストリームに書き込みます。

(x) writeObjectメソッド

public void writeObject(java.lang.Object value) throws JMSException

オブジェクトをバイトストリームに書き込みます。引数に設定できる型はオブジェクト化されたプリミティブオブジェクト型(Integer,DoubleおよびLongなど),Stringオブジェクトおよびバイト配列だけです。

(y) writeShortメソッド

public void writeShort(short value) throws JMSException

上位バイトを先頭とする2バイト値として,short型引数をバイトストリームに書き込みます。

(z) writeUTFメソッド

public void writeUTF(java.lang.String value) throws JMSException

マシンに依存しないUTF-8エンコーディング形式を使用して,文字列をバイトストリームに書き込みます。一度の発行で書き込まれる文字列は65535バイトまでです。