JavaTM 2 Platform
Standard Ed. 5.0

java.sql
接口 Blob

所有已知实现类:
SerialBlob

public interface Blob

SQL BLOB 值在 JavaTM 编程语言中的表示形式(映射关系)。SQL BLOB 是内置类型,它将 Binary Large Object 存储为数据库表的某一行中的一个列值。默认情况下,驱动程序使用 SQL locator(BLOB) 实现 Blob,这意味着 Blob 对象包含一个指向 SQL BLOB 数据而不是数据本身的逻辑指针。Blob 对象在它被创建的事务处理期间有效。

接口 ResultSetCallableStatementPreparedStatement 中的方法(如 getBlobsetBlob)允许编程人员访问 SQL BLOB 值。Blob 接口提供某些方法来获得 SQL BLOB (Binary Large Object) 值的长度、在客户端实现 BLOB 值以及确定 BLOB 值中某一字节样本的位置。此外,此接口还拥有更新 BLOB 值的方法。

从以下版本开始:
1.2

方法摘要
 InputStream getBinaryStream()
          以流的形式检索此 Blob 实例指定的 BLOB 值。
 byte[] getBytes(long pos, int length)
          以字节数组的形式检索此 Blob 对象表示的全部或部分 BLOB 值。
 long length()
          返回由此 Blob 对象指定的 BLOB 值中的字节数。
 long position(Blob pattern, long start)
          检索此 Blob 对象指定的 BLOB 值中 pattern 开始处的字节位置。
 long position(byte[] pattern, long start)
          检索此 Blob 对象表示的 BLOB 值中指定字节数组 pattern 开始处的字节位置。
 OutputStream setBinaryStream(long pos)
          检索用于写入此 Blob 对象表示的 BLOB 值的流。
 int setBytes(long pos, byte[] bytes)
          将给定字节数组写入此 Blob 对象表示的 BLOB 值(从位置 pos 处开始),并返回写入的字节数。
 int setBytes(long pos, byte[] bytes, int offset, int len)
          将所有或部分给定的 byte 数组写入此 Blob 对象表示的 BLOB 值中,并返回写入的字节数。
 void truncate(long len)
          截取此 Blob 对象表示的 BLOB 值,使其长度为 len 个字节。
 

方法详细信息

length

long length()
            throws SQLException
返回由此 Blob 对象指定的 BLOB 值中的字节数。

返回:
BLOB 的字节长度
抛出:
SQLException - 如果访问 BLOB 的长度时发生错误
从以下版本开始:
1.2

getBytes

byte[] getBytes(long pos,
                int length)
                throws SQLException
以字节数组的形式检索此 Blob 对象表示的全部或部分 BLOB 值。此 byte 数组包含从位置 pos 开始的 length 个连续字节。

参数:
pos - 要提取的 BLOB 值中第一个字节的顺序位置;第一个字节位于位置 1 处
length - 要复制的连续字节的数量
返回:
一个字节数组,它包含此 Blob 对象指定的 BLOB 值中的 length 个连续字节(从位置 pos 处的字节开始)
抛出:
SQLException - 如果访问 BLOB 值时发生错误
从以下版本开始:
1.2
另请参见:
setBytes(long, byte[])

getBinaryStream

InputStream getBinaryStream()
                            throws SQLException
以流的形式检索此 Blob 实例指定的 BLOB 值。

返回:
包含 BLOB 数据的流
抛出:
SQLException - 如果访问 BLOB 值时发生错误
从以下版本开始:
1.2
另请参见:
setBinaryStream(long)

position

long position(byte[] pattern,
              long start)
              throws SQLException
检索此 Blob 对象表示的 BLOB 值中指定字节数组 pattern 开始处的字节位置。对 pattern 的搜索从位置 start 开始。

参数:
pattern - 要搜索的字节数组
start - 开始搜索的位置;第一个位置是 1
返回:
pattern 出现的位置,否则返回 -1
抛出:
SQLException - 如果访问 BLOB 时发生错误
从以下版本开始:
1.2

position

long position(Blob pattern,
              long start)
              throws SQLException
检索此 Blob 对象指定的 BLOB 值中 pattern 开始处的字节位置。从位置 start 开始搜索。

参数:
pattern - 指定要搜索的 BLOB 值的 Blob 对象
start - BLOB 值中开始进行搜索的位置;第一个位置是 1
返回:
pattern 开始处的位置,否则返回 -1
抛出:
SQLException - 如果访问 BLOB 值时发生错误
从以下版本开始:
1.2

setBytes

int setBytes(long pos,
             byte[] bytes)
             throws SQLException
将给定字节数组写入此 Blob 对象表示的 BLOB 值(从位置 pos 处开始),并返回写入的字节数。

参数:
pos - BLOB 对象开始进行写入操作的位置
bytes - 要写入此 Blob 对象表示的 BLOB 值中的字节数组
返回:
写入的字节数
抛出:
SQLException - 如果访问 BLOB 值时发生错误
从以下版本开始:
1.4
另请参见:
getBytes(long, int)

setBytes

int setBytes(long pos,
             byte[] bytes,
             int offset,
             int len)
             throws SQLException
将所有或部分给定的 byte 数组写入此 Blob 对象表示的 BLOB 值中,并返回写入的字节数。写入操作从 BLOB 值中的位置 pos 处开始;写入给定字节数组中的 len 个字节。

参数:
pos - BLOB 对象开始进行写入操作的位置
bytes - 要写入此 BLOB 对象中的字节数组
offset - 数组 bytes 中的偏移量,从此处开始读取要设置的字节
len - 字节数组 bytes 中写入 BLOB 值的字节数
返回:
写入的字节数
抛出:
SQLException - 如果访问 BLOB 值时发生错误
从以下版本开始:
1.4
另请参见:
getBytes(long, int)

setBinaryStream

OutputStream setBinaryStream(long pos)
                             throws SQLException
检索用于写入此 Blob 对象表示的 BLOB 值的流。该流从位置 pos 处开始。

参数:
pos - BLOB 值中开始进行写入操作的位置
返回:
可以将数据写入其中的 java.io.OutputStream 对象
抛出:
SQLException - 如果访问 BLOB 值时发生错误
从以下版本开始:
1.4
另请参见:
getBinaryStream()

truncate

void truncate(long len)
              throws SQLException
截取此 Blob 对象表示的 BLOB 值,使其长度为 len 个字节。

参数:
len - 此 Blob 对象表示的 BLOB 值将被截取的字节长度
抛出:
SQLException - 如果访问 BLOB 值时发生错误
从以下版本开始:
1.4

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策