- java.lang.Object
-
- javax.sql.rowset.serial.SerialClob
-
- All Implemented Interfaces:
-
Serializable,Cloneable,Clob
public class SerialClob extends Object implements Clob, Serializable, Cloneable
一个序列化的映射在Java编程语言中的一个SQLCLOB值。SerialClob类提供了一个从Clob对象创建实例的Clob函数。 需要注意的是Clob对象应该已经将SQLCLOB值的数据置于客户端之前SerialClob对象从它建造。 SQLCLOB值的数据可以作为Unicode字符流在客户端上实现。SerialClob方法可以从SerialClob对象获取一个子字符串,或查找字符模式的开始。线程安全
SerialClob不能安全地被多个并发线程使用。 如果一个SerialClob要由多个线程使用,则应该通过适当的同步来控制对SerialClob的访问。
- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 SerialClob(char[] ch)构造一个SerialClob对象,它是给定的char数组的序列化版本。SerialClob(Clob clob)构造一个SerialClob对象,它是给定的Clob对象的序列化版本。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Objectclone()返回此SerialClob的克隆。booleanequals(Object obj)将此SerialClob与指定对象进行比较。voidfree()该方法可以释放SerialClob对象并释放它所拥有的资源。InputStreamgetAsciiStream()检索由该SerialClob对象指定的CLOB值作为ascii流。ReadergetCharacterStream()将此SerialClob对象的数据作为Unicode字符流返回。ReadergetCharacterStream(long pos, long length)返回一个包含部分SerialClob值的Reader对象,以pos指定的字符开头,长度为长度字符。StringgetSubString(long pos, int length)返回此SerialClob对象中包含的子字符串的副本,从给定位置开始并继续指定的数字或字符。inthashCode()返回此SerialClob的哈希码。longlength()检索此SerialClob对象的字符数组中的字符数。longposition(String searchStr, long start)返回此SerialClob对象中的位置,给定的String对象开始,开始在指定位置的搜索。longposition(Clob searchStr, long start)返回此SerialClob对象中给定的Clob签名开始的位置,开始在指定位置的搜索。OutputStreamsetAsciiStream(long pos)检索用于将Ascii字符写入SerialClob对象表示的CLOB值的流,从位置pos开始。WritersetCharacterStream(long pos)检索要用于将Unicode字符流写入SerialClob对象表示的位置pos的CLOB值的流。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数组的序列化版本。新
SerialClob对象初始化与来自数据char阵列,因此允许未连接RowSet对象建立一个序列化Clob对象而不接触的数据源。- 参数
-
ch- 表示要序列化的Clob对象的字符数组 - 异常
-
SerialException- 如果在序列化期间发生错误 -
SQLException- 如果发生SQL错误
-
SerialClob
public SerialClob(Clob clob) throws SerialException, SQLException
构造一个SerialClob对象,它是给定的Clob对象的序列化版本。新
SerialClob对象初始化与从所述数据Clob对象; 因此,Clob对象应该已经将SQLCLOB的数据从数据库提交给客户端。 否则,新的SerialClob对象对象将不包含任何数据。注意:提供给此构造函数的
Clob对象必须为Clob.getCharacterStream()和Clob.getAsciiStream方法返回非空值。 此SerialClob构造函数无法在此实例中序列化一个Clob对象,并将抛出一个SQLException对象。- 参数
-
clob-所述Clob对象作为此SerialClob目的是要构造; 不能为空 - 异常
-
SerialException- 如果在序列化期间发生错误 -
SQLException- 如果在捕获CLOB时发生SQL错误; 如果Clob对象为null; 或者如果Clob.getCharacterStream()中的Clob.getCharacterStream()和Clob.getAsciiStream()中的Clob一个返回null - 另请参见:
-
Clob
-
-
方法详细信息
-
length
public long length() throws SerialException检索此SerialClob对象的字符数组中的字符数。- Specified by:
-
length在接口Clob - 结果
-
一个
long表示该SerialClob对象的字符数组的字符长度 - 异常
-
SerialException- 如果发生错误; 如果free以前已经被调用了这个对象
-
getCharacterStream
public Reader getCharacterStream() throws SerialException
将此SerialClob对象的数据作为Unicode字符流返回。 与相关方法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
检索由该SerialClob对象指定的CLOB值作为ascii流。 此方法转发getAsciiStream呼叫到底层Clob在事件对象,这SerialClob对象被实例化与Clob对象。 如果此SerialClob对象使用char数组实例化,则抛出SerialException对象。- Specified by:
-
getAsciiStream在接口Clob - 结果
-
一个
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
返回此SerialClob对象中给定的String对象开始的位置,在指定位置开始搜索。 如果找不到该模式,此方法返回-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
返回此SerialClob对象的位置,其中给定的Clob签名开始,在指定位置开始搜索。 如果找不到该模式,此方法返回-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-字符串写入到CLOB,该值SerialClob对象表示 - 结果
- 写入的字符数
- 异常
-
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对象。 如果此SerialClob对象使用char数组实例化,则抛出SerialException对象。- Specified by:
-
setAsciiStream在接口Clob - 参数
-
pos- 开始写入CLOB对象的位置 - 结果
- 可以写入ASCII编码字符的流
- 异常
-
SerialException- 如果不使用Clob对象实例化SerialClob; 如果free方法以前曾被调用此对象 -
SQLException- 如果存在访问CLOB值的错误 - 另请参见:
-
getAsciiStream()
-
setCharacterStream
public Writer setCharacterStream(long pos) throws SerialException, SQLException
检索流用于写入的Unicode字符流的CLOB值,这SerialClob对象表示,在位置pos。 此方法转发setCharacterStream()呼叫到底层Clob在事件对象,这SerialClob对象被实例化与Clob对象。 如果此SerialClob对象使用char数组实例化,则抛出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在接口Clob - 参数
-
length- 要截断CLOB值的长度(以字节为单位) - 异常
-
SerialException- 如果存在访问CLOB值的错误; 如果free方法以前是在此对象上调用的
-
getCharacterStream
public Reader getCharacterStream(long pos, long length) throws SQLException
返回一个包含部分SerialClob值的Reader对象,以pos指定的字符开头,长度为长度字符。- Specified by:
-
getCharacterStream在接口Clob - 参数
-
pos- 要检索的部分值的第一个字符的偏移量。SerialClob的第一个字符是位置1。 -
length- 要检索的部分值的字符长度。 - 结果
-
Reader可以读取部分SerialClob值。 - 异常
-
SQLException- 如果pos小于1或pos大于SerialClob的字符数,或者如果pos +长度大于SerialClob的字符数; -
SerialException- 如果以前在此对象上调用了free方法 - 从以下版本开始:
- 1.6
-
free
public void free() throws SQLException该方法可以释放SerialClob对象并释放它所拥有的资源。 一旦调用了free方法,该对象就无效。如果
free被多次调用,在后续调用free被视为无操作。- Specified by:
-
free在接口Clob - 异常
-
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)
-
-