public class SerialClob extends Object implements Clob, Serializable, Cloneable
CLOB值。
SerialClob类提供了一个用于从Clob对象创建实例的Clob函数。 请注意, Clob对象应该在将SerialClob对象从其构造之前将SQL CLOB的数据带到客户端。 SQL CLOB值的数据可以作为Unicode字符流在客户端上实现。
SerialClob方法使得可以从SerialClob对象获取子SerialClob或找到字符模式的开始。
SerialClob不能安全地被多个并发线程使用。 如果一个SerialClob要由多个线程使用,则应该通过适当的同步来控制对SerialClob的访问。
| Constructor and Description |
|---|
SerialClob(char[] ch)
构造一个
SerialClob对象,它是给定的
char数组的序列化版本。
|
SerialClob(Clob clob)
构造一个
SerialClob对象,它是给定的
Clob对象的序列化版本。
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
返回此
SerialClob的克隆。
|
boolean |
equals(Object obj)
将此SerialClob与指定对象进行比较。
|
void |
free()
此方法可以释放
SeriableClob对象并释放它所拥有的资源。
|
InputStream |
getAsciiStream()
将此
SerialClob对象指定的
CLOB值作为ascii流
SerialClob 。
|
Reader |
getCharacterStream()
将此
SerialClob对象的数据作为Unicode字符流返回。
|
Reader |
getCharacterStream(long pos, long length)
返回一个包含部分
SerialClob值的
Reader对象,以pos指定的字符开头,长度为长度字符。
|
String |
getSubString(long pos, int length)
返回此
SerialClob对象中包含的子字符串的副本,从给定位置开始,并继续指定的数字或字符。
|
int |
hashCode()
返回此
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)
将给定的Java
String写入
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字符。
|
public SerialClob(char[] ch)
throws SerialException,
SQLException
SerialClob对象,它是给定的char数组的序列化版本。
新的SerialClob对象使用char阵列的数据char ,从而允许断开的RowSet对象建立一个序列化的Clob对象,而不用触摸数据源。
ch - 表示要序列化的
Clob对象的char数组
SerialException - 如果在序列化期间发生错误
SQLException - 如果发生SQL错误
public SerialClob(Clob clob) throws SerialException, SQLException
SerialClob对象,该对象是给定Clob对象的序列化版本。
新的SerialClob对象使用SerialClob对象的数据进行Clob ; 因此, Clob对象之前应该已经将SQL CLOB的数据从数据库提交给客户端。 否则,新的SerialClob对象对象将不包含任何数据。
注意:提供给此构造函数的Clob对象必须为Clob.getCharacterStream()和Clob.getAsciiStream方法返回非空值。 这SerialClob构造函数不能序列化Clob在这个实例对象,将抛出SQLException对象。
clob - 要Clob此SerialClob对象的SerialClob对象;
不能为空
SerialException - 如果在序列化期间发生错误
SQLException - 如果在捕获CLOB时发生SQL错误;
如果Clob对象为空;
或者如果满足Clob.getCharacterStream()和Clob.getAsciiStream()的方法Clob返回一个空
Clob
public long length()
throws SerialException
SerialClob对象的字符数组中的字符数。
length在界面
Clob
long表示这个
SerialClob对象的字符数组的字符长度
SerialException - 如果发生错误;
如果free以前曾被调用此对象
public Reader getCharacterStream() throws SerialException
SerialClob对象的数据作为Unicode字符流返回。
与相关方法getAsciiStream不同,无论SerialClob对象是使用Clob对象还是char数组创建,都会生成流。
getCharacterStream在界面
Clob
java.io.Reader此
SerialClob对象数据的
SerialClob对象
SerialException - 如果发生错误;
如果free以前已经被调用了这个对象
Clob.setCharacterStream(long)
public InputStream getAsciiStream() throws SerialException, SQLException
SerialClob对象指定的CLOB值作为ascii流。
此方法转发getAsciiStream呼叫到底层Clob在事件对象,这SerialClob对象被实例化与Clob对象。
如果此SerialClob对象使用char数组实例化,则抛出SerialException对象。
getAsciiStream在界面
Clob
java.io.InputStream此
SerialClob对象数据的
SerialClob对象
SerialException - 如果此SerialClob对象未被实例Clob对象;
如果free以前已经被调用了这个对象
SQLException - 如果访问由用于创建此
SerialClob对象的
Clob对象表示的
CLOB值存在错误
Clob.setAsciiStream(long)
public String getSubString(long pos, int length) throws SerialException
SerialClob对象中包含的子字符串的副本,从给定位置开始,并继续指定的数字或字符。
getSubString在界面
Clob
pos - 要复制的子串中第一个字符的位置;
SerialClob对象的第一个字符在位置1 ;
不得小于1 ,并且1的起始位置和长度的总和必须小于此SerialClob对象的长度
length - 要返回的子字符串中的字符数;
不能大于此SerialClob对象的长度,并且子字符串的起始位置和长度之和必须小于此SerialClob对象的长度
String对象,该对象包含该给定位置开始的并包含指定数量的连续字符的
SerialClob对象的子字符串
SerialException - 如果任一参数超出范围;
如果free以前已经被调用了这个对象
public long position(String searchStr, long start) throws SerialException, SQLException
SerialClob对象中的位置,给定的String对象开始,开始在指定位置的搜索。
如果找不到该模式,此方法返回-1 。
position在界面
Clob
searchStr - 要搜索的
String对象
start - 在此SerialClob对象中的位置开始搜索;
第一名是1 ;
不得小于1也不得大于此SerialClob对象的长度
String对象开始的位置,在指定位置开始搜索;
-1如果给定的String对象未找到或起始位置超出范围;
返回值的位置编号从1开始
SerialException - 如果
free方法以前是在此对象上调用的
SQLException - 如果从数据库访问Clob值时出错。
public long position(Clob searchStr, long start) throws SerialException, SQLException
SerialClob对象的位置,其中给定的Clob签名开始,在指定位置开始搜索。
如果找不到该模式,此方法返回-1 。
position在界面
Clob
searchStr - 要搜索的
Clob对象
start - 在此SerialClob对象中的位置开始搜索;
第一名是1 ;
不得小于1也不得大于此SerialClob对象的长度
Clob对象在指定的起始位置或之后在该
SerialClob对象中开始的位置
SerialException - 如果定位Clob签名出现错误;
如果free方法以前曾被调用此对象
SQLException - 从数据库访问Clob值时是否存在错误
public int setString(long pos,
String str)
throws SerialException
String写入
SerialClob对象表示的
CLOB值,位于位置
pos 。
setString在界面
Clob
pos - 开始写入这个SerialClob对象所代表的CLOB值的位置;
第一名是1 ;
不得小于1也不得大于此SerialClob对象的长度
str -字符串写入到
CLOB值,这
SerialClob对象表示
SerialException - 访问CLOB值时是否有错误;
如果设置无效位置;
如果设置了无效的偏移值;
要写入的字节数大于SerialClob长度;
或长度和偏移的组合值大于Clob缓冲区;
如果free方法以前曾被调用此对象
public int setString(long pos,
String str,
int offset,
int length)
throws SerialException
len的字符
str ,起始于字符
offset到
CLOB值,这
Clob表示。
setString在界面
Clob
pos - 开始写入此SerialClob对象所代表的CLOB值的位置;
第一名是1 ;
不得低于1也不得大于此SerialClob对象的长度
str - 要写入
Clob对象代表的
CLOB值的字符串
offset - 偏移到
str开始读取要写入的字符
length - 要写入的字符数
SerialException -如果有访问误差CLOB值;
如果设置无效位置;
如果设置了无效的偏移值;
要写入的字节数大于SerialClob长度;
或长度和偏移的组合值大于Clob缓冲区;
如果free方法以前曾被调用此对象
public OutputStream setAsciiStream(long pos) throws SerialException, SQLException
SerialClob对象表示的CLOB值的流,从位置pos开始。
此方法转发setAsciiStream()呼叫到底层Clob在事件对象,这SerialClob对象被实例化与Clob对象。
如果此SerialClob对象使用char数组实例化,则抛出SerialException对象。
setAsciiStream在界面
Clob
pos - 开始写入
CLOB对象的位置
SerialException - 如果没有使用Clob对象实例化SerialClob;
如果free方法以前曾被调用此对象
SQLException - 访问
CLOB值时是否存在错误
getAsciiStream()
public Writer setCharacterStream(long pos) throws SerialException, SQLException
SerialClob对象所代表的CLOB值的流,位置为pos 。
此方法转发setCharacterStream()呼叫到底层Clob在事件对象,这SerialClob对象被实例化与Clob对象。
如果此SerialClob对象使用char数组SerialException则抛出SerialException 。
setCharacterStream在界面
Clob
pos - 开始写入
CLOB值的位置
SerialException - 如果SerialClob未用Clob对象实例化;
如果free方法以前曾被调用此对象
SQLException - 访问
CLOB值时是否存在错误
getCharacterStream()
public void truncate(long length)
throws SerialException
SerialClob对象所代表的CLOB值,以使其长度为len字符。
将SerialClob对象SerialClob为0,具有清除其内容的效果。
truncate在界面
Clob
length - 应截断
CLOB值的长度(以字节为单位)
SerialException - 访问CLOB值时是否有错误;
如果free方法以前曾被调用此对象
public Reader getCharacterStream(long pos, long length) throws SQLException
SerialClob值的
Reader对象,以pos指定的字符开头,长度为长度字符。
getCharacterStream在界面
Clob
pos - 要检索的部分值的第一个字符的偏移量。
在第一个字符SerialClob是在位置1。
length - 要检索的部分值的字符长度。
Reader可以读取部分
SerialClob值。
SQLException - 如果pos小于1或pos大于SerialClob中的
SerialClob数,或者如果pos +长度大于SerialClob中的
SerialClob ;
SerialException - 如果
free方法以前是在此对象上调用的
public void free()
throws SQLException
SeriableClob对象并释放其拥有的资源。
调用free方法后,该对象无效。
如果free被多次调用,在后续调用free被视为无操作。
free在界面
Clob
SQLException - 如果发生错误,释放Clob的资源
public boolean equals(Object obj)
true当且仅当该参数不是null并且是SerialClob对象,表示相同的字符序列作为该对象。
equals在类别
Object
obj - 对比这个
SerialClob的对象
true如果给定的对象代表一个
SerialClob相当于此SerialClob,
false否则
Object.hashCode() , HashMap
public int hashCode()
SerialClob的哈希码。
hashCode在类
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.