JavaTM 2 Platform
Standard Ed. 6

javax.sql.rowset.serial
類別 SerialClob

java.lang.Object
  繼承者 javax.sql.rowset.serial.SerialClob
所有已實作的介面:
Serializable, Cloneable, Clob

public class SerialClob
extends Object
implements Clob, Serializable, Cloneable

SQL CLOB 值在 Java 程式語言中的序列化映射關係。

SerialClob 類別提供一個根據 Clob 物件創建實例的建構子。注意,在根據 Clob 物件建構 SerialBlob 物件之前,Clob 物件應該已經將 SQL Clob 值的資料置於客戶端上。SQL CLOB 值的資料可以在客戶端上以 Unicode 字元串流的形式實作。

SerialClob 方法可以從 SerialClob 物件獲取子字元串或者尋找某種網要的字元的開頭。

另請參見:
序列化表格

建構子摘要
SerialClob(char[] ch)
          按照給定 char 陣列的序列化形式建構一個 SerialClob 物件。
SerialClob(Clob clob)
          按照給定 Clob 物件的序列化形式建構一個 SerialClob 物件。
 
方法摘要
 void free()
          此方法釋放 Clob 物件以及它所佔用的資源。
 InputStream getAsciiStream()
          以 ascii 串流的形式獲取此 SerialClob 物件指定的 CLOB 值。
 Reader getCharacterStream()
          以 Unicode 字元串流的形式返回此 SerialClob 物件的資料。
 Reader getCharacterStream(long pos, long length)
          返回包含部分 Clob 值的 Reader 物件,該值從 pos 指定的字元開始,長度為 length 個字元。
 String getSubString(long pos, int length)
          返回包含在此 SerialClob 物件中的子字元串的副本,從給定位置開始,後跟指定字元數。
 long length()
          獲取此 SerialClob 物件位元組陣列中的位元組數。
 long position(Clob searchStr, long start)
          返回此 SerialClob 物件中給定 Clob 簽章開始的位置,搜尋從指定位置開始。
 long position(String searchStr, long start)
          返回此 SerialClob 物件中給定 String 物件開始的位置,搜尋從指定位置開始。
 OutputStream setAsciiStream(long pos)
          獲取用於將 Ascii 字元寫入此 SerialClob 物件所表示的 Clob 值的串流,從位置 pos 處開始。
 Writer setCharacterStream(long pos)
          獲取用於將 Unicode 字元串流寫入此 SerialClob 物件所表示的 CLOB 值(位置 pos 處)的串流。
 int setString(long pos, String str)
          在位置 pos 處將給定 Java String 寫入此 SerialClob 物件表示的 CLOB 值中。
 int setString(long pos, String str, int offset, int length)
          將 strlen 個字元寫入此 Clob 表示的 CLOB 值中,從字元 offset 開始。
 void truncate(long length)
          截取此 SerialClob 物件所表示的 CLOB 值,使其長度為 len 個字元。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

SerialClob

public SerialClob(char[] ch)
           throws SerialException,
                  SQLException
按照給定 char 陣列的序列化形式建構一個 SerialClob 物件。

新的 SerialClob 物件使用 char 陣列中的資料進行初始化,因此允許未連接 RowSet 物件無需接觸資料源即可建立序列化的 Clob 物件。

參數:
ch - 表示要序列化的 Clob 物件的 char 陣列
拋出:
SerialException - 如果在序列化期間發生錯誤
SQLException - 如果發生 SQL 錯誤

SerialClob

public SerialClob(Clob clob)
           throws SerialException,
                  SQLException
按照給定 Clob 物件的序列化形式建構一個 SerialClob 物件。

新的 SerialClob 物件使用 Clob 物件中的資料進行初始化;因此,Clob 物件應該預先從資料庫將 SQL CLOB 值的資料置於客戶端上。否則,新 SerialClob 物件將不包含任何資料。

註:提供給此建構子的 Clob 物件不能對 Clob.getCharacterStream()Clob.getAsciiStream 方法返回 null。此 SerialClob 建構子不能在此實例中序列化 Clob 物件,將拋出 SQLException 物件。

參數:
clob - 要用來建構此 SerialClob 物件的 Clob 物件;不能為 null
拋出:
SerialException - 如果在序列化期間發生錯誤
SQLException - 如果在捕獲 CLOB 期間發生 SQL 錯誤;如果 Clob 物件為 null;如果對 Clob 調用 Clob.getCharacterStream()Clob.getAsciiStream() 方法時都返回 null
另請參見:
Clob
方法詳細資訊

length

public long length()
            throws SerialException
獲取此 SerialClob 物件位元組陣列中的位元組數。

指定者:
介面 Clob 中的 length
返回:
一個 long 值,指示此 SerialClob 物件的位元組陣列的長度(以位元組為單位)
拋出:
SerialException - 如果發生錯誤

getCharacterStream

public Reader getCharacterStream()
                          throws SerialException
以 Unicode 字元串流的形式返回此 SerialClob 物件的資料。與相關方法 getAsciiStream 不同的是,無論 SerialClob 物件是使用 Clob 物件還是使用 char 陣列創建,都將產生串流。

指定者:
介面 Clob 中的 getCharacterStream
返回:
包含此 SerialClob 物件資料的 java.io.Reader 物件
拋出:
SerialException - 如果發生錯誤
另請參見:
Clob.setCharacterStream(long)

getAsciiStream

public InputStream getAsciiStream()
                           throws SerialException,
                                  SQLException
以 ascii 串流的形式獲取此 SerialClob 物件指定的 CLOB 值。如果此 SerialClob 物件是使用 Clob 物件實例化的,則此方法將 getAsciiStream 調用轉發到底層 Clob。如果此 SerialClob 是使用 char 陣列實例化的,則拋出 SerialException

指定者:
介面 Clob 中的 getAsciiStream
返回:
包含此 SerialClob 物件資料的 java.io.InputStream 物件
拋出:
SerialException - 如果此 SerialClob 物件不是使用 Clob 物件實例化的
SQLException - 如果在存取用於創建此 SerialClob 物件的 Clob 物件表示的 CLOB 值時發生錯誤
另請參見:
Clob.setAsciiStream(long)

getSubString

public String getSubString(long pos,
                           int length)
                    throws SerialException
返回包含在此 SerialClob 物件中的子字元串的副本,從給定位置開始,後跟指定字元數。

指定者:
介面 Clob 中的 getSubString
參數:
pos - 子字元串中要複製的第一個字元的位置;SerialClob 物件的第一個字元位於位置 1;不得小於 1,並且開始位置與子字元串的長度之和必須小於此 SerialClob 物件的長度
length - 子字元串中要返回的字元數;不得大於此 SerialClob 物件的長度,並且開始位置與子字元串的長度之和必須小於此 SerialClob 物件的長度
返回:
包含此 SerialClob 物件的子字元串的 String 物件,從給定位置開始,包含指定的連續字元數
拋出:
SerialException - 如果兩個參數中的任意一個超出限制

position

public long position(String searchStr,
                     long start)
              throws SerialException,
                     SQLException
返回此 SerialClob 物件中給定 String 物件開始的位置,搜尋從指定位置開始。如果未找到該網要,則此方法返回 -1

指定者:
介面 Clob 中的 position
參數:
searchStr - 要搜尋的 String 物件
start - 此 SerialClob 物件中搜尋開始的位置;第一個位置是 1;不得小於 1 且不得大於此 SerialClob 物件的長度
返回:
給定 String 物件開始的位置,從指定位置開始搜尋;如果未找到給定的 String 物件或者開始位置超出限制,則返回 -1;返回值的位置編號從 1 開始
拋出:
SerialException - 如果在尋找 String 簽章時發生錯誤
SQLException - 如果從資料庫存取 Blob 值時發生錯誤

position

public long position(Clob searchStr,
                     long start)
              throws SerialException,
                     SQLException
返回此 SerialClob 物件中給定 Clob 簽章開始的位置,搜尋從指定位置開始。如果未找到該網要,則此方法返回 -1

指定者:
介面 Clob 中的 position
參數:
searchStr - 要搜尋的 Clob 物件
start - 此 SerialClob 物件中開始搜尋的位置;第一個位置是 1;不得小於 1 且不得大於此 SerialClob 物件的長度
返回:
SerialClob 物件中的位置,給定的 Clob 物件從該位置開始,位於指定開始位置或該位置之後
拋出:
SerialException - 如果在尋找 Clob 簽章時發生錯誤
SQLException - 如果在從資料庫存取 Blob 值時發生錯誤

setString

public int setString(long pos,
                     String str)
              throws SerialException
在位置 pos 處將給定 Java String 寫入此 SerialClob 物件表示的 CLOB 值中。

指定者:
介面 Clob 中的 setString
參數:
pos - 開始寫入此 SerialClob 物件所表示的 CLOB 值的位置;第一個位置是 1;不得小於 1 且不得大於此 SerialClob 物件的長度
str - 要寫入此 SerialClob 物件所表示的 CLOB 值的字元串
返回:
寫入的字元數
拋出:
SerialException - 如果在存取 CLOB 值時發生錯誤;如果設置了無效的位置;如果設置了無效的偏移量值;如果要寫入的位元組數大於 SerialClob 長度;如果長度與偏移量的組合值大於 Clob 緩衝區

setString

public int setString(long pos,
                     String str,
                     int offset,
                     int length)
              throws SerialException
strlen 個字元寫入此 Clob 表示的 CLOB 值中,從字元 offset 開始。

指定者:
介面 Clob 中的 setString
參數:
pos - 開始寫入此 SerialClob 物件所表示 CLOB 值的位置;第一個位置是 1;不得小於 1 且不得大於此 SerialClob 物件的長度
str - 要寫入此 Clob 物件所表示 CLOB 值的字元串
offset - str 中開始讀取要寫入的字元的偏移量
length - 要寫入的字元數
返回:
寫入的字元數
拋出:
SerialException - 如果在存取 CLOB 值時發生錯誤;如果設置了無效的位置;如果設置了無效的偏移量值;如果要寫入的位元組數大於 SerialClob 長度;如果長度與偏移量的組合值大於 Clob 緩衝區

setAsciiStream

public OutputStream setAsciiStream(long pos)
                            throws SerialException,
                                   SQLException
獲取用於將 Ascii 字元寫入此 SerialClob 物件所表示的 Clob 值的串流,從位置 pos 處開始。如果此 SerialClob 物件是使用 Clob 物件實例化的,則此方法將 getAsciiStream 調用轉發到底層 Clob。如果此 SerialClob 是使用 char 陣列實例化的,則拋出 SerialException

指定者:
介面 Clob 中的 setAsciiStream
參數:
pos - 開始寫入此 CLOB 物件的位置
返回:
可寫入 ASCII 編碼字元的串流
拋出:
SerialException - 如果 SerialClob 不是使用支持 setAsciiStream 的 Clob 物件實例化的
SQLException - 如果在存取 CLOB 值時發生錯誤
另請參見:
getAsciiStream()

setCharacterStream

public Writer setCharacterStream(long pos)
                          throws SerialException,
                                 SQLException
獲取用於將 Unicode 字元串流寫入此 SerialClob 物件所表示的 CLOB 值(位置 pos 處)的串流。如果此 SerialClob 物件是使用 Clob 物件實例化的,則此方法將 setCharacterStream() 調用轉發到底層 Clob。如果此 SerialClob 是使用 char 陣列實例化的,則拋出 SerialException

指定者:
介面 Clob 中的 setCharacterStream
參數:
pos - 開始寫入 CLOB 值中的位置
返回:
可寫入 Unicode 編碼字元的串流
拋出:
SerialException - 如果 SerialClob 不是使用支持 setCharacterStream 的 Clob 物件實例化的
SQLException - 如果在存取 CLOB 值時發生錯誤
另請參見:
getCharacterStream()

truncate

public void truncate(long length)
              throws SerialException
截取此 SerialClob 物件所表示的 CLOB 值,使其長度為 len 個字元。

SerialClob 物件截取至長度 0 相當於清除其內容。

指定者:
介面 Clob 中的 truncate
參數:
length - CLOB 值應被截取的位元組長度
拋出:
SQLException - 如果存取 CLOB 值時發生錯誤
SerialException

getCharacterStream

public Reader getCharacterStream(long pos,
                                 long length)
                          throws SQLException
從介面 Clob 複製的描述
返回包含部分 Clob 值的 Reader 物件,該值從 pos 指定的字元開始,長度為 length 個字元。

指定者:
介面 Clob 中的 getCharacterStream
參數:
pos - 將獲取的部分值第一個字元的偏移量。Clob 中的第一個字元在位置 1 處。
length - 要獲取的部分值的字元長度。
返回:
Reader,可以通過它來讀取部分 Clob 值。
拋出:
SQLException - 如果 pos 小於 1,或者 pos 大於 Clob 中的字元數,或者 pos + length 大於 Clob 中的字元數
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法

free

public void free()
          throws SQLException
從介面 Clob 複製的描述
此方法釋放 Clob 物件以及它所佔用的資源。調用 free 方法後,該物件無效。

在調用 free 方法之後,試圖調用 free 之外的方法將導致拋出 SQLException。如果多次調用 free,則對 free 的後續調用被視為無操作 (no-op)。

指定者:
介面 Clob 中的 free
拋出:
SQLException - 如果釋放 Clob 的資源時發生錯誤
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only