- 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对象的序列化版本。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 Objectclone()返回此SerialClob。booleanequals(Object obj)将此SerialClob与指定的对象进行比较。voidfree()此方法释放SerialClob对象并释放它所拥有的资源。InputStreamgetAsciiStream()以ascii流的CLOB检索此SerialClob对象指定的CLOB值。ReadergetCharacterStream()以Unicode字符流的形式返回此SerialClob对象的数据。ReadergetCharacterStream(long pos, long length)返回一个Reader对象,该对象包含部分SerialClob值,以pos指定的字符开头,长度为长度字符。StringgetSubString(long pos, int length)返回此SerialClob对象中包含的子字符串的副本,从给定位置开始并继续指定的一个或多个字符。inthashCode()返回此SerialClob的哈希码。longlength()检索此SerialClob对象的字符数组中的字符数。longposition(String searchStr, long start)返回给定String对象开始的SerialClob对象中的位置,从指定位置开始搜索。longposition(Clob searchStr, long start)返回此SerialClob对象中给定的Clob签名开始的位置,从指定位置开始搜索。OutputStreamsetAsciiStream(long pos)检索用于将Ascii字符写入此SerialClob对象表示的CLOB值的流,从位置pos开始。WritersetCharacterStream(long pos)检索用于将Unicode字符流写入此SerialClob对象表示的CLOB值的流,位于pos位置。intsetString(long pos, String str)将给定的JavaString写入SerialClob对象所代表的CLOB值,位置为pos。intsetString(long pos, String str, int offset, int length)将len字符str(从字符offset开始)写入此Clob代表的CLOB值。voidtruncate(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:
-
lengthin 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:
-
getAsciiStreamin 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:
-
setAsciiStreamin 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:
-
truncatein 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:
-
freein 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)
-
-