|
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 对象开始进行写入操作的位置;第一个位置是 1bytes - 要写入此 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 对象开始进行写入操作的位置;第一个位置是 1bytes - 要写入此 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. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。