|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
public interface Blob
SQL BLOB 值在 JavaTM 编程语言中的表示形式(映射关系)。SQL BLOB 是内置类型,它将二进制大对象 (Binary Large Object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL locator(BLOB) 实现 Blob,这意味着 Blob 对象包含一个指向 SQL BLOB 数据的逻辑指针而不是数据本身。Blob 对象在它被创建的事务处理期间有效。
接口 ResultSet、CallableStatement 和 PreparedStatement 中的方法(如 getBlob 和 setBlob)允许编程人员访问 SQL BLOB 值。Blob 接口提供一些方法来获取 SQL BLOB (Binary Large Object) 值的长度、在客户端实现 BLOB 值以及确定 BLOB 值中某一字节样本的位置。此外,此接口还有更新 BLOB 值的方法。
如果 JDBC 驱动程序支持该数据类型,则必须完全实现 Blob 接口的所有方法。
| 方法摘要 | |
|---|---|
void |
free() 此方法释放 Blob 对象以及它所占用的资源。 |
InputStream |
getBinaryStream() 以流的形式获取此 Blob 实例指定的 BLOB 值。 |
InputStream |
getBinaryStream(long pos, long length) 返回包含部分 Blob 值的 InputStream 对象,该值从 pos 指定的字节开始,长度为 length 个字节。 |
byte[] |
getBytes(long pos, int length) 以 byte 数组的形式获取此 Blob 对象表示的全部或部分 BLOB 值。 |
long |
length() 返回此 Blob 对象指定的 BLOB 值中的字节数。 |
long |
position(Blob pattern, long start) 获取此 Blob 对象指定的 BLOB 值中 pattern 开始处的字节位置。 |
long |
position(byte[] pattern, long start) 获取此 Blob 对象表示的 BLOB 值中指定 byte 数组 pattern 开始处的字节位置。 |
OutputStream |
setBinaryStream(long pos) 获取用于写入此 Blob 对象表示的 BLOB 值的流。 |
int |
setBytes(long pos, byte[] bytes) 从位置 pos 处开始,将给定 byte 数组写入此 Blob 对象表示的 BLOB 值,并返回写入的字节数。 |
int |
setBytes(long pos, byte[] bytes, int offset, int len) 将所有或部分给定的 byte 数组写入此 Blob 对象表示的 BLOB 值中,并返回写入的字节数。 |
void |
truncate(long len) 截取此 Blob 对象表示的 BLOB 值,使其长度为 len 个字节。 |
| 方法详细信息 |
|---|
long length()
throws SQLException
Blob 对象指定的
BLOB 值中的字节数。
BLOB 的字节长度
SQLException - 如果访问
BLOB 的长度时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
byte[] getBytes(long pos,
int length)
throws SQLException
Blob 对象表示的全部或部分
BLOB 值。此
byte 数组包含从位置
pos 开始的
length 个连续字节。
pos - 要提取的
BLOB 值中第一个字节的顺序位置;第一个字节位于位置 1 处
length - 要复制的连续字节的数量;length 的值必须大于等于 0
Blob 对象指定的
BLOB 值中的
length 个连续字节(从位置
pos 处的字节开始)
SQLException - 如果访问
BLOB 值时发生错误;如果 pos 小于 1 或 length 小于 0
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
setBytes(long, byte[])
InputStream getBinaryStream()
throws SQLException
Blob 实例指定的
BLOB 值。
BLOB 数据的流
SQLException - 如果访问
BLOB 值时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
setBinaryStream(long)
long position(byte[] pattern,
long start)
throws SQLException
Blob 对象表示的
BLOB 值中指定 byte 数组
pattern 开始处的字节位置。对
pattern 的搜索从位置
start 开始。
pattern - 要搜索的字节数组
start - 开始搜索的位置;第一个位置是 1
SQLException - 如果访问
BLOB 时发生错误或者 start 小于 1
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
long position(Blob pattern,
long start)
throws SQLException
Blob 对象指定的
BLOB 值中
pattern 开始处的字节位置。从位置
start 开始搜索。
pattern - 指定要搜索的
BLOB 值的
Blob 对象
start -
BLOB 值中开始进行搜索的位置;第一个位置是 1
SQLException - 如果访问
BLOB 值时发生错误或者 start 小于 1
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
int setBytes(long pos,
byte[] bytes)
throws SQLException
pos 处开始,将给定 byte 数组写入此
Blob 对象表示的
BLOB 值,并返回写入的字节数。该 byte 数组将从位置
pos 开始重写
Blob 对象中的现有字节。如果在写 byte 数组时到达
Blob 值的末尾,则将增加
Blob 值的长度,以容纳额外的字节。
注:如果为 pos 指定的值大于 BLOB 值的长度+1,则行为是不确定的。一些 JDBC 驱动程序可能抛出 SQLException,而另一些驱动程序可能支持此操作。
pos -
BLOB 对象开始进行写入操作的位置;第一个位置是 1
bytes - 要写入此
Blob 对象表示的
BLOB 值中的 byte 数组
SQLException - 如果访问
BLOB 值时发生错误或者 pos 小于 1
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
getBytes(long, int)
int setBytes(long pos,
byte[] bytes,
int offset,
int len)
throws SQLException
byte 数组写入此
Blob 对象表示的
BLOB 值中,并返回写入的字节数。写入操作从
BLOB 值中的位置
pos 处开始;写入给定 byte 数组中的
len 个字节。该 byte 数组将从位置
pos 开始重写
Blob 对象中的现有字节。如果在写 byte 数组时到达
Blob 值的末尾,则将增加
Blob 值的长度,以容纳额外的字节。
注:如果为 pos 指定的值大于 BLOB 值的长度+1,则行为是不确定的。一些 JDBC 驱动程序可能抛出 SQLException,而另一些驱动程序可能支持此操作。
pos -
BLOB 对象开始进行写入操作的位置;第一个位置是 1
bytes - 要写入此
BLOB 对象中的 byte 数组
offset - 数组
bytes 中的偏移量,从此处开始读取要设置的字节
len - 要从 byte 数组
bytes 中写入
BLOB 值的字节数
SQLException - 如果访问
BLOB 值时发生错误或者 pos 小于 1
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
getBytes(long, int)
OutputStream setBinaryStream(long pos)
throws SQLException
Blob 对象表示的
BLOB 值的流。该流从位置
pos 处开始。写入流中的字节将从位置
pos 开始重写
Blob 对象中的现有字节。如果在写入流时到达
Blob 值的末尾,则将增加
Blob 值的长度,以容纳额外的字节。
注:如果为 pos 指定的值大于 BLOB 值的长度+1,则行为是不确定的。一些 JDBC 驱动程序可能抛出 SQLException,而另一些驱动程序可能支持此操作。
pos -
BLOB 值中开始进行写入操作的位置;第一个位置是 1
java.io.OutputStream 对象
SQLException - 如果访问
BLOB 值时发生错误或者 pos 小于 1
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
getBinaryStream()
void truncate(long len)
throws SQLException
Blob 对象表示的
BLOB 值,使其长度为
len 个字节。
注:如果为 pos 指定的值大于 BLOB 值的长度+1,则行为是不确定的。一些 JDBC 驱动程序可能抛出 SQLException,而另一些驱动程序可能支持此操作。
len - 此
Blob 对象表示的
BLOB 值将被截取的字节长度
SQLException - 如果访问
BLOB 值时发生错误或者 len 小于 0
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
void free()
throws SQLException
Blob 对象以及它所占用的资源。调用
free 方法后,该对象将无效。
在调用 free 方法之后,试图调用 free 之外的方法将导致抛出 SQLException。如果多次调用 free,则对 free 的后续调用被视为无操作 (no-op)。
SQLException - 如果在释放 Blob 的资源时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
InputStream getBinaryStream(long pos,
long length)
throws SQLException
Blob 值的
InputStream 对象,该值从 pos 指定的字节开始,长度为 length 个字节。
pos - 将获取的部分值第一个字节的偏移量。
Blob 中的第一个字节在位置 1 处
length - 将获取的部分值的字节长度
Blob 值的
InputStream。
SQLException - 如果 pos 小于 1,或者 pos 大于
Blob 中的字节数,或者 pos + length 大于
Blob 中的字节数
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。