|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.sql.rowset.serial.SerialBlob
public class SerialBlob
SQL BLOB
值在 Java 程式語言中的序列化映射關係。
SerialBlob
類別提供一個根據 Blob
物件創建實例的建構子。注意,在根據 Blob
物件建構 SerialBlob 物件之前,Blob
物件應該已經將 SQL Blob
值的資料置於客戶端上。SQL Blob
值的資料可以在客戶端上以位元組陣列(使用 Blob.getBytes
方法)或未解釋位元組串流的形式(使用 Blob.getBinaryStream
方法)實作。
SerialBlob
方法能夠以位元組陣列或串流的形式複製 SerialBlob
物件。這些方法還可以在 SerialBlob
物件中尋找給定網要的位元組或 Blob
物件,並可以更新或截斷 Blob
物件。
建構子摘要 | |
---|---|
SerialBlob(Blob blob)
根據給定 Blob 物件的序列化形式建構一個 SerialBlob 物件。 |
|
SerialBlob(byte[] b)
按照給定 byte 陣列的序列化形式建構一個 SerialBlob 物件。 |
方法摘要 | |
---|---|
void |
free()
此方法釋放 Blob 物件及其佔有的資源。 |
InputStream |
getBinaryStream()
以輸入串流的形式返回此 SerialBlob 物件。 |
InputStream |
getBinaryStream(long pos,
long length)
返回一個套件含部分 Blob 值的 InputStream 物件,它從 pos 指定的位元組開始,具有 length 個位元組長度。 |
byte[] |
getBytes(long pos,
int length)
將指定的位元組數(從給定位置開始)從此 SerialBlob 物件複製到另一個位元組陣列。 |
long |
length()
獲取此 SerialBlob 物件位元組陣列中的位元組數。 |
long |
position(Blob pattern,
long start)
返回此 SerialBlob 物件中給定 Blob 物件開始的位置,搜尋從指定位置開始。 |
long |
position(byte[] pattern,
long start)
返回在此 SerialBlob 物件中給定網要的位元組開始的位置,搜尋從指定的位置開始。 |
OutputStream |
setBinaryStream(long pos)
獲取用於寫入此 Blob 物件所表示的 BLOB 值的串流。 |
int |
setBytes(long pos,
byte[] bytes)
將給定位元組陣列寫入此 Blob 物件表示的 BLOB 值(從位置 pos 處開始),並返回寫入的位元組數。 |
int |
setBytes(long pos,
byte[] bytes,
int offset,
int length)
將所有或部分給定的 byte 陣列寫入此 Blob 物件表示的 BLOB 值中,並返回寫入的位元組數。 |
void |
truncate(long length)
截取此 Blob 物件表示的 BLOB 值,使其長度為 len 個位元組。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public SerialBlob(byte[] b) throws SerialException, SQLException
byte
陣列的序列化形式建構一個 SerialBlob
物件。
新的 SerialBlob
物件使用 byte
陣列中的資料進行初始化,因此允許未連接 RowSet
物件無需接觸資料源即可建立序列化的 Blob
物件。
b
- 一個 byte
陣列,包含要序列化的 Blob
物件的資料
SerialException
- 如果在序列化期間發生錯誤
SQLException
- 如果發生 SQL 錯誤public SerialBlob(Blob blob) throws SerialException, SQLException
Blob
物件的序列化形式建構一個 SerialBlob
物件。
新的 SerialBlob
物件使用 Blob
物件中的資料進行初始化;因此,Blob
物件應該預先從資料庫將 SQL BLOB
值的資料置於客戶端上。否則,新 SerialBlob
物件將不包含任何資料。
blob
- 一個 Blob
物件,根據該物件建構此 SerialBlob
物件 ;此值不能為 null。
SerialException
- 如果在序列化期間發生錯誤
SQLException
- 如果傳遞給此建構子的 Blob
為 null
。Blob
方法詳細資訊 |
---|
public byte[] getBytes(long pos, int length) throws SerialException
SerialBlob
物件複製到另一個位元組陣列。
注意,如果要複製的給定位元組數大於此 SerialBlob
物件的位元組陣列的長度,則將其縮短為該陣列的長度。
Blob
中的 getBytes
pos
- 此 SerialBlob
物件中要複製的第一個位元組的順序位置;編號從 1
開始;不得小於 1
並且必須小於或等於此 SerialBlob
物件的長度length
- 要複製的位元組數
SerialBlob
物件一個區域的副本,從給定位置開始並且包含給定的連續位元組數
SerialException
- 如果給定開始位置超出限制Blob.setBytes(long, byte[])
public long length() throws SerialException
SerialBlob
物件位元組陣列中的位元組數。
Blob
中的 length
long
值,指示此 SerialBlob
物件的位元組陣列的長度(以位元組為單位)
SerialException
- 如果發生錯誤public InputStream getBinaryStream() throws SerialException
SerialBlob
物件。與相關方法 setBinaryStream
不同的是,無論 SerialBlob
是使用 Blob
物件還是使用 byte
陣列創建的,都將產生串流。
Blob
中的 getBinaryStream
SerialBlob
物件位元組陣列的 java.io.InputStream
物件
SerialException
- 如果發生錯誤setBinaryStream(long)
public long position(byte[] pattern, long start) throws SerialException, SQLException
SerialBlob
物件中給定網要的位元組開始的位置,搜尋從指定的位置開始。
Blob
中的 position
pattern
- 要搜尋的位元組網要start
- 此 SerialBlob
物件中位元組的位置,搜尋從該位置開始;第一個位置是 1
;不得小於 1
且不得大於此 SerialBlob
物件的長度
SerialBlob
物件中給定網要開始的位置,從指定位置開始;如果找不到網要或者給定開始位置超出限制,則返回 -1
;返回值的位置編號從 1
開始
SerialException
- 如果在序列化 blob 時發生錯誤
SQLException
- 如果在從資料庫存取 BLOB
值時發生錯誤public long position(Blob pattern, long start) throws SerialException, SQLException
SerialBlob
物件中給定 Blob
物件開始的位置,搜尋從指定位置開始。
Blob
中的 position
pattern
- 進行搜尋的 Blob
物件;start
- 在此 SerialBlob
物件中開始搜尋的位元組的位置;第一個位置是 1
;不得小於 1
且不得大於此 SerialBlob
物件的長度
SerialBlob
物件中給定 Blob
物件開始的位置,從指定位置開始;如果找不到網要或者給定開始位置超出限制,則返回 -1
;返回值的位置編號從 1
開始
SerialException
- 如果在序列化 blob 時發生錯誤
SQLException
- 如果在從資料庫存取 BLOB
值時發生錯誤public int setBytes(long pos, byte[] bytes) throws SerialException, SQLException
Blob
物件表示的 BLOB
值(從位置 pos
處開始),並返回寫入的位元組數。
Blob
中的 setBytes
pos
- SQL BLOB
值中開始寫入的位置。第一個位置是 1
;不得小於 1
且不得大於此 SerialBlob
物件的長度。bytes
- 要寫入此 Blob
物件所表示的 BLOB
值的位元組陣列
SerialException
- 如果在存取 BLOB
值時發生錯誤;如果設置了無效的位置;如果設置了無效的偏移量值
SQLException
- 如果從資料庫存取 BLOB
值時發生錯誤getBytes(long, int)
public int setBytes(long pos, byte[] bytes, int offset, int length) throws SerialException, SQLException
byte
陣列寫入此 Blob
物件表示的 BLOB
值中,並返回寫入的位元組數。寫入操作從 BLOB
值中的位置 pos
處開始;寫入給定位元組陣列中的 len 個位元組。
Blob
中的 setBytes
pos
- SQL BLOB
物件中開始寫入的位置。第一個位置是 1
;不得小於 1
且不得大於此 SerialBlob
物件的長度。bytes
- 要寫入 BLOB
值的位元組陣列offset
- byte
陣列中的偏移量,從該偏移量開始讀取位元組。第一個偏移量位置是 0
;不得小於 0
且不得大於 byte
陣列的長度length
- 要從 bytes 位元組陣列寫入 BLOB
值的位元組數。
SerialException
- 如果在存取 BLOB
值時發生錯誤;如果設置了無效的位置;如果設置了無效的偏移量值;如果要寫入的位元組數大於 SerialBlob
長度;如果長度和偏移量的組合值大於 Blob 緩衝區
SQLException
- 如果在從資料庫存取 BLOB
值時發生錯誤。getBytes(long, int)
public OutputStream setBinaryStream(long pos) throws SerialException, SQLException
Blob
物件所表示的 BLOB
值的串流。該串流從位置 pos
處開始。如果此 SerialBlob
物件是使用 Blob
進行實例化的,則此方法將 setBinaryStream()
調用轉發到底層 Blob
。如果此 SerialBlob
是使用 byte
陣列進行實例化的,則拋出 SerialException
。
Blob
中的 setBinaryStream
pos
- BLOB
值中開始進行寫入操作的位置
java.io.OutputStream
物件
SQLException
- 如果存取 BLOB
值時發生錯誤
SerialException
- 如果 SerialBlob 不是使用支持 setBinaryStream()
的 Blob
物件進行實例化的getBinaryStream()
public void truncate(long length) throws SerialException
Blob
物件表示的 BLOB
值,使其長度為 len
個位元組。
Blob
中的 truncate
length
- 此 Blob
物件表示的 BLOB
值截取後的長度(以位元組為單位)
SerialException
- 如果在存取 Blob 值時發生錯誤,或者要截取的長度大於 SerialBlob 長度public InputStream getBinaryStream(long pos, long length) throws SQLException
Blob
值的 InputStream
物件,它從 pos 指定的位元組開始,具有 length 個位元組長度。
Blob
中的 getBinaryStream
pos
- 要獲取的部分值的第一個位元組的偏移量。Blob
的第一個位元組位於位置 1。length
- 要獲取的部分值的位元組長度
Blob
值的 InputStream
SQLException
- 如果 pos 小於 1,pos 大於 Blob
的位元組數,或者 pos + length 大於 Blob
的位元組數public void free() throws SQLException
Blob
物件及其佔有的資源。調用 free
方法後,該物件將無效。如果多次調用了 free
方法,則對 free
的後續調用將被視為無操作 (no-op)。
Blob
中的 free
SQLException
- 如果釋放 Blob 的資源時發生錯誤
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。