- java.lang.Object
-
- javax.sql.rowset.serial.SerialClob
-
- 实现的所有接口
-
Serializable
,Cloneable
,Clob
public class SerialClob extends Object implements Clob, Serializable, Cloneable
SQL编程语言中的序列化映射,具有SQLCLOB
值。SerialClob
类提供了用于从Clob
对象创建实例的Clob
函数。 需要注意的是Clob
对象应该已经将SQLCLOB
一个前值的数据置于客户端SerialClob
对象从它建造。 SQLCLOB
值的数据可以在客户端上实现为Unicode字符流。SerialClob
方法可以从SerialClob
对象获取子字符串或定位字符模式的开头。线程安全
SerialClob不适合多个并发线程使用。 如果要由多个线程使用SerialClob,则应通过适当的同步来控制对SerialClob的访问。
- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 SerialClob(char[] ch)
构造一个SerialClob
对象,该对象是给定char
数组的序列化版本。SerialClob(Clob clob)
构造一个SerialClob
对象,该对象是给定Clob
对象的序列化版本。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 Object
clone()
返回此SerialClob
。boolean
equals(Object obj)
将此SerialClob与指定的对象进行比较。void
free()
此方法释放SerialClob
对象并释放它所拥有的资源。InputStream
getAsciiStream()
以ascii流的CLOB
检索此SerialClob
对象指定的CLOB
值。Reader
getCharacterStream()
以Unicode字符流的形式返回此SerialClob
对象的数据。Reader
getCharacterStream(long pos, long length)
返回一个Reader
对象,该对象包含部分SerialClob
值,以pos指定的字符开头,长度为长度字符。String
getSubString(long pos, int length)
返回此SerialClob
对象中包含的子字符串的副本,从给定位置开始并继续指定的一个或多个字符。int
hashCode()
返回此SerialClob
的哈希码。long
length()
检索此SerialClob
对象的字符数组中的字符数。long
position(String searchStr, long start)
返回给定String
对象开始的SerialClob
对象中的位置,从指定位置开始搜索。long
position(Clob searchStr, long start)
返回此SerialClob
对象中给定的Clob
签名开始的位置,从指定位置开始搜索。OutputStream
setAsciiStream(long pos)
检索用于将Ascii字符写入此SerialClob
对象表示的CLOB
值的流,从位置pos
开始。Writer
setCharacterStream(long pos)
检索用于将Unicode字符流写入此SerialClob
对象表示的CLOB
值的流,位于pos
位置。int
setString(long pos, String str)
将给定的JavaString
写入SerialClob
对象所代表的CLOB
值,位置为pos
。int
setString(long pos, String str, int offset, int length)
将len
字符str
(从字符offset
开始)写入此Clob
代表的CLOB
值。void
truncate(long length)
截断此SerialClob
对象表示的CLOB
值,使其长度为len
字符。
-
-
-
构造方法详细信息
-
SerialClob
public SerialClob(char[] ch) throws SerialException, SQLException
构造一个SerialClob
对象,该对象是给定char
数组的序列化版本。使用来自
char
阵列的数据初始化新的SerialClob
对象,从而允许断开连接的RowSet
对象在不触及数据源的情况下建立序列化的Clob
对象。- 参数
-
ch
- 表示要序列化的Clob
对象的char数组 - 异常
-
SerialException
- 如果序列化期间发生错误 -
SQLException
- 如果发生SQL错误
-
SerialClob
public SerialClob(Clob clob) throws SerialException, SQLException
构造一个SerialClob
对象,该对象是给定Clob
对象的序列化版本。使用
SerialClob
对象中的数据初始化新的Clob
对象; 因此,Clob
对象之前应该已将SQLCLOB
值的数据从数据库传送到客户端。 否则,新的SerialClob
对象对象将不包含任何数据。注意:提供给此构造函数的
Clob
对象必须为Clob.getCharacterStream()
和Clob.getAsciiStream
方法返回非null值。 这SerialClob
构造函数不能序列化Clob
在这个实例对象,将抛出SQLException
对象。- 参数
-
clob
-Clob
构造此SerialClob
对象的SerialClob
对象; 不能为空 - 异常
-
SerialException
- 如果序列化期间发生错误 -
SQLException
- 如果捕获CLOB时发生SQL错误; 如果Clob
对象为null; 或者如果满足Clob.getCharacterStream()
种Clob.getAsciiStream()
的方法Clob
返回一个空 - 另请参见:
-
Clob
-
-
方法详细信息
-
length
public long length() throws SerialException
检索此SerialClob
对象的字符数组中的字符数。- Specified by:
-
length
in interfaceClob
- 结果
-
a
long
表示此SerialClob
对象的字符数组的字符长度 - 异常
-
SerialException
- 如果发生错误; 如果先前已在此对象上调用了free
-
getCharacterStream
public Reader getCharacterStream() throws SerialException
以Unicode字符流的形式返回此SerialClob
对象的数据。 与相关方法getAsciiStream
不同,无论SerialClob
对象是使用Clob
对象还是char
数组创建,Clob
生成char
。- Specified by:
-
getCharacterStream
在界面Clob
- 结果
-
一个
java.io.Reader
包含此对象SerialClob
对象的数据 - 异常
-
SerialException
- 如果发生错误; 如果先前已在此对象上调用了free
- 另请参见:
-
Clob.setCharacterStream(long)
-
getAsciiStream
public InputStream getAsciiStream() throws SerialException, SQLException
以ascii流的CLOB
检索此SerialClob
对象指定的CLOB
值。 此方法转发getAsciiStream
呼叫到底层Clob
在事件对象,这SerialClob
对象被实例化与Clob
对象。 如果使用char
数组实例化此SerialClob
对象,则抛出SerialException
对象。- Specified by:
-
getAsciiStream
in interfaceClob
- 结果
-
一个
java.io.InputStream
包含此对象SerialClob
对象的数据 - 异常
-
SerialException
-如果此SerialClob
对象不是用实例Clob
对象; 如果先前已在此对象上调用了free
-
SQLException
- 如果访问用于创建此SerialClob
对象的Clob
对象表示的CLOB
值时出错 - 另请参见:
-
Clob.setAsciiStream(long)
-
getSubString
public String getSubString(long pos, int length) throws SerialException
返回此SerialClob
对象中包含的子字符串的副本,从给定位置开始并继续指定的一个或多个字符。- Specified by:
-
getSubString
,接口Clob
- 参数
-
pos
- 要复制的子字符串中第一个字符的位置;SerialClob
对象的第一个字符位于1
; 不得小于1
,并且起始位置和子串长度之和必须小于此SerialClob
对象的长度 -
length
- 要返回的子字符串中的字符数; 不得大于此SerialClob
对象的长度,并且起始位置和子字符串长度之和必须小于此SerialClob
对象的长度 - 结果
-
一个
String
含有本的一个子对象SerialClob
在给定位置开始对象和包含的连续字符数指定 - 异常
-
SerialException
- 如果任一参数超出范围; 如果先前已在此对象上调用了free
-
position
public long position(String searchStr, long start) throws SerialException, SQLException
返回给定String
对象开始的SerialClob
对象中的位置,从指定位置开始搜索。 如果未找到模式,则此方法返回-1
。- Specified by:
-
position
在接口Clob
- 参数
-
searchStr
- 要搜索的String
对象 -
start
- 此SerialClob
对象中开始搜索的位置; 第一个位置是1
; 不得小于1
也不得大于此SerialClob
对象的长度 - 结果
-
给定的
String
对象开始的位置,在指定位置开始搜索;-1
如果找不到给定的String
对象或者起始位置超出范围; 返回值的位置编号从1
开始 - 异常
-
SerialException
- 如果先前已在此对象上调用了free
方法 -
SQLException
- 如果从数据库访问Clob值时出错。
-
position
public long position(Clob searchStr, long start) throws SerialException, SQLException
返回给定Clob
签名开始的SerialClob
对象中的位置,从指定位置开始搜索。 如果未找到模式,则此方法返回-1
。- Specified by:
-
position
,接口Clob
- 参数
-
searchStr
- 要搜索的Clob
对象 -
start
- 此SerialClob
对象中开始搜索的位置; 第一个位置是1
; 不得小于1
也不得大于此SerialClob
对象的长度 - 结果
-
给定的
Clob
对象在此SerialClob
对象中开始的位置,在指定的起始位置或之后 - 异常
-
SerialException
- 如果发现错误,则找到Clob签名; 如果先前已在此对象上调用了free
方法 -
SQLException
- 如果从数据库访问Clob值时出错
-
setString
public int setString(long pos, String str) throws SerialException
将给定的JavaString
写入此SerialClob
对象所代表的CLOB
值,位置为pos
。- Specified by:
-
setString
接口Clob
- 参数
-
pos
- 开始写入SerialClob
对象所代表的CLOB
值的位置; 第一个位置是1
; 不得小于1
也不得大于此SerialClob
对象的长度 -
str
- 要写入此SerialClob
对象表示的CLOB
值的字符串 - 结果
- 写入的字符数
- 异常
-
SerialException
- 如果访问CLOB
值时出错; 如果设置了无效位置; 如果设置了无效的偏移值; 如果要写入的字节数大于SerialClob
长度; 或者长度和偏移的组合值大于Clob缓冲区; 如果先前已在此对象上调用了free
方法
-
setString
public int setString(long pos, String str, int offset, int length) throws SerialException
将len
字符str
(从字符offset
开始)写入此Clob
代表的CLOB
值。- Specified by:
-
setString
,界面Clob
- 参数
-
pos
- 开始写入SerialClob
对象所代表的CLOB
值的位置; 第一个位置是1
; 不得小于1
也不得大于此SerialClob
对象的长度 -
str
- 要写入此Clob
对象表示的CLOB
值的字符串 -
offset
- 偏移到str
开始读取要写入的字符 -
length
- 要写入的字符数 - 结果
- 写入的字符数
- 异常
-
SerialException
- 如果访问CLOB
值时出错; 如果设置了无效位置; 如果设置了无效的偏移值; 如果要写入的字节数大于SerialClob
长度; 或者长度和偏移的组合值大于Clob缓冲区; 如果先前已在此对象上调用了free
方法
-
setAsciiStream
public OutputStream setAsciiStream(long pos) throws SerialException, SQLException
检索用于将Ascii字符写入此SerialClob
对象表示的CLOB
值的流,从位置pos
开始。 此方法转发setAsciiStream()
呼叫到底层Clob
在事件对象,这SerialClob
对象被实例化与Clob
对象。 如果使用char
数组实例化此SerialClob
对象,则抛出SerialException
对象。- Specified by:
-
setAsciiStream
in interfaceClob
- 参数
-
pos
- 开始写入CLOB
对象的位置 - 结果
- 可以写入ASCII编码字符的流
- 异常
-
SerialException
- 如果未使用Clob对象实例化SerialClob; 如果先前已在此对象上调用了free
方法 -
SQLException
- 如果访问CLOB
值时出错 - 另请参见:
-
getAsciiStream()
-
setCharacterStream
public Writer setCharacterStream(long pos) throws SerialException, SQLException
检索用于将Unicode字符流写入此SerialClob
对象所代表的CLOB
值的流,位于pos
位置。 此方法转发setCharacterStream()
呼叫到底层Clob
在事件对象,这SerialClob
对象被实例化与Clob
对象。 如果使用char
数组实例化此SerialClob
对象,则抛出SerialException
。- Specified by:
-
setCharacterStream
,界面Clob
- 参数
-
pos
- 开始写入CLOB
值的位置 - 结果
- 可以写入Unicode编码字符的流
- 异常
-
SerialException
- 如果SerialClob未使用Clob对象进行实例化; 如果先前已在此对象上调用了free
方法 -
SQLException
- 如果访问CLOB
值时出错 - 另请参见:
-
getCharacterStream()
-
truncate
public void truncate(long length) throws SerialException
截断此SerialClob
对象表示的CLOB
值,使其长度为len
字符。将
SerialClob
对象截断为长度0具有清除其内容的效果。- Specified by:
-
truncate
in interfaceClob
- 参数
-
length
- 应截断CLOB
值的长度(以字节为单位) - 异常
-
SerialException
- 如果访问CLOB
值时出错; 如果先前已在此对象上调用了free
方法
-
getCharacterStream
public Reader getCharacterStream(long pos, long length) throws SQLException
返回一个Reader
对象,该对象包含部分SerialClob
值,以pos指定的字符开头,长度为长度字符。- Specified by:
-
getCharacterStream
接口Clob
- 参数
-
pos
- 要检索的部分值的第一个字符的偏移量。SerialClob
的第一个字符位于第1位。 -
length
- 要检索的部分值的字符长度。 - 结果
-
Reader
,通过该局部SerialClob
值可被读取。 - 异常
-
SQLException
- 如果pos小于1或者如果pos大于SerialClob
的字符数,或者如果pos + length大于SerialClob
的字符数; -
SerialException
- 如果先前已在此对象上调用了free
方法 - 从以下版本开始:
- 1.6
-
free
public void free() throws SQLException
此方法释放SerialClob
对象并释放它所拥有的资源。 调用free
方法后,该对象无效。如果
free
被多次调用,在后续调用free
被视为无操作。- Specified by:
-
free
in interfaceClob
- 异常
-
SQLException
- 如果发生错误,则释放Clob的资源 - 从以下版本开始:
- 1.6
-
equals
public boolean equals(Object obj)
将此SerialClob与指定的对象进行比较。 当且仅当参数不是null
并且是SerialClob
对象时,结果为true
,该对象表示与此对象相同的字符序列。- 重写:
-
equals
类Object
- 参数
-
obj
- 该对象为SerialClob
对比了 - 结果
-
true
如果给定的对象表示SerialClob
相当于此SerialClob,false
否则 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回此SerialClob
的哈希码。- 重写:
-
hashCode
在类Object
- 结果
- 此对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-