|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.sql.rowset.serial
类 SerialBlob
java.lang.Object javax.sql.rowset.serial.SerialBlob
- 所有已实现的接口:
- Serializable, Cloneable, Blob
-
public class SerialBlob
- extends Object
- implements Blob, Serializable, Cloneable
SQL BLOB
值在 Java 编程语言中的序列化映射关系。
SerialBlob
类提供一个根据 Blob
对象创建实例的构造方法。注意,在根据 Blob
对象构造 SerialBlob 对象之前,Blob
对象应该已经将 SQL Blob
值的数据置于客户端上。SQL Blob
值的数据可以在客户端上以字节数组(使用 Blob.getBytes
方法)或未解释字节流的形式(使用 Blob.getBinaryStream
方法)实现。
SerialBlob
方法能够以字节数组或流的形式复制 SerialBlob
对象。这些方法还可以在 SerialBlob
对象中查找给定模式的字节或 Blob
对象,并可以更新或截断 Blob
对象。
- 另请参见:
- 序列化表格
构造方法摘要 | |
---|---|
SerialBlob(Blob blob) 根据给定 Blob 对象的序列化形式构造一个 SerialBlob 对象。 |
|
SerialBlob(byte[] b) 按照给定 byte 数组的序列化形式构造一个 SerialBlob 对象。 |
方法摘要 | |
---|---|
InputStream |
getBinaryStream() 以输入流的形式返回此 SerialBlob 对象。 |
byte[] |
getBytes(long pos, int length) 将指定的字节数(从给定位置开始)从此 SerialBlob 对象复制到另一个字节数组。 |
long |
length() 检索此 SerialBlob 对象字节数组中的字节数。 |
long |
position(Blob pattern, long start) 返回此 SerialBlob 对象中给定 Blob 对象开始的位置,搜索从指定位置开始。 |
long |
position(byte[] pattern, long start) 返回在此 SerialBlob 对象中给定模式的字节开始的位置,搜索从指定的位置开始。 |
OutputStream |
setBinaryStream(long pos) 检索用于写入此 Blob 对象所表示的 BLOB 值的流。 |
int |
setBytes(long pos, byte[] bytes) 将给定字节数组写入此 Blob 对象表示的 BLOB 值(从位置 pos 处开始),并返回写入的字节数。 |
int |
setBytes(long pos, byte[] bytes, int offset, int length) 将所有或部分给定的 byte 数组写入此 Blob 对象表示的 BLOB 值中,并返回写入的字节数。 |
void |
truncate(long length) 截取此 Blob 对象表示的 BLOB 值,使其长度为 len 个字节。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
SerialBlob
public SerialBlob(byte[] b) throws SerialException, SQLException
-
按照给定
byte
数组的序列化形式构造一个SerialBlob
对象。新的
SerialBlob
对象使用byte
数组中的数据进行初始化,因此允许未连接RowSet
对象无需接触数据源即可建立序列化的Blob
对象。- 参数:
-
b
- 一个byte
数组,包含要序列化的Blob
对象的数据 - 抛出:
-
SerialException
- 如果在序列化期间发生错误 -
SQLException
- 如果发生 SQL 错误
SerialBlob
public SerialBlob(Blob blob) throws SerialException, SQLException
-
根据给定
Blob
对象的序列化形式构造一个SerialBlob
对象。新的
SerialBlob
对象使用Blob
对象中的数据进行初始化;因此,Blob
对象应该预先从数据库将 SQLBLOB
值的数据置于客户端上。否则,新SerialBlob
对象将不包含任何数据。- 参数:
-
blob
- 一个Blob
对象,根据该对象构造此SerialBlob
对象 ;此值不能为 null。 - 抛出:
-
SerialException
- 如果在序列化期间发生错误 -
SQLException
- 如果传递给此构造方法的Blob
为null
。 - 另请参见:
-
Blob
方法详细信息 |
---|
getBytes
public byte[] getBytes(long pos, int length) throws SerialException
-
将指定的字节数(从给定位置开始)从此
SerialBlob
对象复制到另一个字节数组。注意,如果要复制的给定字节数大于此
SerialBlob
对象的字节数组的长度,则将其缩短为该数组的长度。 -
- 参数:
-
pos
- 此SerialBlob
对象中要复制的第一个字节的顺序位置;编号从1
开始;不得小于1
并且必须小于或等于此SerialBlob
对象的长度 -
length
- 要复制的字节数 - 返回:
-
一个字节数组,它是此
SerialBlob
对象一个区域的副本,从给定位置开始并且包含给定的连续字节数 - 抛出:
-
SerialException
- 如果给定开始位置超出限制 - 另请参见:
-
Blob.setBytes(long, byte[])
length
public long length() throws SerialException
-
检索此
SerialBlob
对象字节数组中的字节数。 -
- 返回:
-
一个
long
值,指示此SerialBlob
对象的字节数组的长度(以字节为单位) - 抛出:
-
SerialException
- 如果发生错误
getBinaryStream
public InputStream getBinaryStream() throws SerialException
-
以输入流的形式返回此
SerialBlob
对象。与相关方法setBinaryStream
不同的是,无论SerialBlob
是使用Blob
对象还是使用byte
数组创建的,都将生成流。 -
- 指定者:
-
接口
Blob
中的getBinaryStream
-
- 返回:
-
包含此
SerialBlob
对象字节数组的java.io.InputStream
对象 - 抛出:
-
SerialException
- 如果发生错误 - 另请参见:
-
setBinaryStream(long)
position
public long position(byte[] pattern, long start) throws SerialException, SQLException
-
返回在此
SerialBlob
对象中给定模式的字节开始的位置,搜索从指定的位置开始。 -
- 参数:
-
pattern
- 要搜索的字节模式 -
start
- 此SerialBlob
对象中字节的位置,搜索从该位置开始;第一个位置是1
;不得小于1
且不得大于此SerialBlob
对象的长度 - 返回:
-
此
SerialBlob
对象中给定模式开始的位置,从指定位置开始;如果找不到模式或者给定开始位置超出限制,则返回-1
;返回值的位置编号从1
开始 - 抛出:
-
SerialException
- 如果在序列化 blob 时发生错误 -
SQLException
- 如果在从数据库访问BLOB
值时发生错误
position
public long position(Blob pattern, long start) throws SerialException, SQLException
-
返回此
SerialBlob
对象中给定Blob
对象开始的位置,搜索从指定位置开始。 -
- 参数:
-
pattern
- 进行搜索的Blob
对象; -
start
- 在此SerialBlob
对象中开始搜索的字节的位置;第一个位置是1
;不得小于1
且不得大于此SerialBlob
对象的长度 - 返回:
-
在此
SerialBlob
对象中给定Blob
对象开始的位置,从指定位置开始;如果找不到模式或者给定开始位置超出限制,则返回-1
;返回值的位置编号从1
开始 - 抛出:
-
SerialException
- 如果在序列化 blob 时发生错误 -
SQLException
- 如果在从数据库访问BLOB
值时发生错误
setBytes
public int setBytes(long pos, byte[] bytes) throws SerialException, SQLException
-
将给定字节数组写入此
Blob
对象表示的BLOB
值(从位置pos
处开始),并返回写入的字节数。 -
- 参数:
-
pos
- SQLBLOB
值中开始写入的位置。第一个位置是1
;不得小于1
且不得大于此SerialBlob
对象的长度。 -
bytes
- 要写入此Blob
对象所表示的BLOB
值的字节数组 - 返回:
- 写入的字节数
- 抛出:
-
SerialException
- 如果在访问BLOB
值时发生错误;如果设置了无效的位置;如果设置了无效的偏移量值 -
SQLException
- 如果从数据库访问BLOB
值时发生错误 - 另请参见:
-
getBytes(long, int)