com.ibm.mq.headers
類別 MQHeaderIterator
- java.lang.Object
- com.ibm.mq.jmqi.JmqiObject
- com.ibm.mq.headers.MQHeaderIterator
- 所有實作的介面:
- java.util.Iterator
public class MQHeaderIterator extends com.ibm.mq.jmqi.JmqiObject 實作 java.util.IteratorMQHeaderIterator 會從訊息逐一傳回標頭。 這個類別可讓應用程式輕鬆存取訊息中的標頭內容。範例
印出訊息中的所有標頭
DataInput 訊息 = ... MQHeaderIterator it = new MQHeaderIterator (message); while (it.hasNext ()) { MQHeader header = it.nextHeader (); System.out.println ("Header (type" + header.type + "): " + 標頭); }跳過訊息中的所有標頭
DataInput 訊息 = ... MQHeaderIterator it = new MQHeaderIterator (message); it.skipHeaders ();
訊息讀取游標現在位於最後一個標頭之後。
以字串形式擷取訊息內文,並跳過任何呈現的標頭
DataInput message = ...; String body = new MQHeaderIterator (message) .getBodyAsText ();
getBodyAsBytes 方法類似,但會以位元組陣列形式傳回訊息內文。
如需直接搜尋特定標頭、從訊息中移除標頭以及其他 goodies 的能力,請參閱 MQHeaderList。
- 另請參閱:
MQHeaderList
-
-
建構子摘要
建構子 建構子和說明 MQHeaderIterator(java.io.DataInput message)在訊息周圍建構 MQHeaderIterator。MQHeaderIterator(java.io.DataInput message, java.lang.String format, int encoding, int characterSet)在訊息或位元組串流周圍建構 MQHeaderIterator。
-
方法摘要
所有方法 實例方法 具體方法 修飾元和類型 方法和說明 java.lang.ObjectgetBody()跳過任何剩餘標頭。byte[]getBodyAsBytes()跳過任何剩餘標頭java.lang.StringgetBodyAsText()跳過任何剩餘標頭booleanhasNext()指出是否有另一個標頭java.lang.Objectnext()取得下一個標頭MQHeadernextHeader()下一個 方法的同義字,但鍵入以傳回 MQHeader。java.io.DataInputskipHeaders()跳過現行訊息位置中剩餘的所有標頭。
-
-
建構子詳細資料
MQHeaderIterator
public MQHeaderIterator (java.io.DataInput message)
在訊息周圍建構 MQHeaderIterator。 將從訊息讀取游標的現行位置讀取標頭內容。 用來解譯內容的起始格式、編碼及 CCSID 取自訊息中的 MQMD 欄位。- 參數:
message-訊息
MQHeaderIterator
public MQHeaderIterator (java.io.DataInput message , java.lang.String 格式, int encoding , int characterSet)在訊息或位元組串流周圍建構 MQHeaderIterator。 標頭內容將從訊息讀取游標的現行位置或位元組串流中的位置讀取。 用來解譯內容的起始格式編碼和 CCSID 是取自引數。- 參數:
message-訊息format-訊息格式 (如需值,請參閱 CMQC.MQFMT_ *)encoding-數字編碼。 請參閱 (CMQC.MQENC_ * 以取得值)characterSet-編碼字集 ID。
-
方法詳細資料
hasNext
public boolean hasNext ()
指出是否有另一個標頭- 指定者:
hasNext在介面中java.util.Iterator- 傳回:
- true 或 false (視情況而定)
下一步
public java.lang.Object next ()
取得下一個標頭- 指定者:
next在介面中java.util.Iterator- 傳回:
- 下一個標頭
nextHeader
public MQHeader nextHeader ()
下一個 方法的同義字,但鍵入以傳回 MQHeader。- 傳回:
- 下一個標頭
skipHeaders
public java.io.DataInput skipHeaders () throws MQDataException, java.io.IOException跳過現行訊息位置中剩餘的所有標頭。- 傳回:
- 位於最後一個標頭之後的原始訊息或位元組串流。
- 擲出:
MQDataExceptionjava.io.IOException
getBody
public java.lang.Object getBody () throws MQDataException, java.io.IOException跳過任何剩餘標頭。- 傳回:
- 根據最後一個標頭的格式,將訊息內文作為字串或位元組陣列。 如果格式為 MQFMT_STRING,則內文為「字串」; 否則為位元組陣列。
- 擲出:
MQDataExceptionjava.io.IOException
getBodyAsBytes
public byte [] getBodyAsBytes () throws MQDataException, java.io.IOException跳過任何剩餘標頭- 傳回:
- 訊息內文作為位元組陣列。 即使最後一種格式是 MQFMT_STRING,此方法也會傳回位元組陣列。
- 擲出:
MQDataExceptionjava.io.IOException
getBodyAsText
public java.lang.String getBodyAsText () throws MQDataException, java.io.IOException跳過任何剩餘標頭- 傳回:
- 訊息內文作為字串。 不論最後一個標頭的格式欄位為何,此方法都會傳回字串。 訊息內文的位元組內容會使用最後一個標頭 (或 MQMD ,如果沒有標頭,或沒有含有鏈結資訊的標頭) 所指示的 CCSID 轉換成「字串」。
- 擲出:
MQDataExceptionjava.io.IOException
-