ResultSet CallableStatement PreparedStatement 等接口都定义了getBlob()方法getClob()
方法setBlob()方法setClob()方法用以获取或者设定BLOB CLOB 类型的数据具体
方法的定义请读者参考相应的文档这里就不再介绍了
Blob 接口的方法
在Blob 接口中定义了下面的方法
public long length(); 该方法可以获取Blob 数据的长度
public byte[] getBytes(long pos int length); 该方法可以从Blob 数据中获取其中的
某一段将其赋给一个byte 数组参数pos 是开始截取数据的位置参数length 是截取数
据的长度
public InputStream getBinaryStream(); 该方法从Blob 数据中获取一个输入流
(InputStream)
public long position(byte[] pattern long start); 该方法获取特定字节在Blob 数据中
的位置参数pattern 是查找的目标字节参数start 指的是开始查找的位置
public long position(Blob pattern long start); 该方法可以获取特定Blob 类型的数
据在当前Blob 数据中的开始位置参数pattern 代表需要查找的Blob 数据参数start 代表
开始查找匹配的位置
下面的两个JSP 代码段演示了如何获取Blob 类型的数据并将其输出(数据库连接代
码段已经省略了其中rs 是ResultSet 接口的实例对象)
例
<%
rs.absolute(4);
Blob blob=rs.getBlob( image );
java.io.InputStream in = blob.getBinaryStream();
byte b;
while ((in.read()) > -1)
{
b = in.read();
out.println(b);
}
%>
例
<%
rs.absolute(4);
Blob blob=rs.getBlob( image );
long len = blob.length();
byte [] data = blob.getBytes(1 len);
for (int i = 0; i < len; i++)
{
byte b = data[i];
out.println(b);
}
%>
方法setBlob()方法setClob()方法用以获取或者设定BLOB CLOB 类型的数据具体
方法的定义请读者参考相应的文档这里就不再介绍了
Blob 接口的方法
在Blob 接口中定义了下面的方法
public long length(); 该方法可以获取Blob 数据的长度
public byte[] getBytes(long pos int length); 该方法可以从Blob 数据中获取其中的
某一段将其赋给一个byte 数组参数pos 是开始截取数据的位置参数length 是截取数
据的长度
public InputStream getBinaryStream(); 该方法从Blob 数据中获取一个输入流
(InputStream)
public long position(byte[] pattern long start); 该方法获取特定字节在Blob 数据中
的位置参数pattern 是查找的目标字节参数start 指的是开始查找的位置
public long position(Blob pattern long start); 该方法可以获取特定Blob 类型的数
据在当前Blob 数据中的开始位置参数pattern 代表需要查找的Blob 数据参数start 代表
开始查找匹配的位置
下面的两个JSP 代码段演示了如何获取Blob 类型的数据并将其输出(数据库连接代
码段已经省略了其中rs 是ResultSet 接口的实例对象)
例
<%
rs.absolute(4);
Blob blob=rs.getBlob( image );
java.io.InputStream in = blob.getBinaryStream();
byte b;
while ((in.read()) > -1)
{
b = in.read();
out.println(b);
}
%>
例
<%
rs.absolute(4);
Blob blob=rs.getBlob( image );
long len = blob.length();
byte [] data = blob.getBytes(1 len);
for (int i = 0; i < len; i++)
{
byte b = data[i];
out.println(b);
}
%>
解决方案 »
- java基础问题:循环以及获取某位数值。
- Socket 异常!很简单 大家帮忙找找错!
- 急!!!在启用了ssl认证后,如何保存cookie???????????????????????????????????????
- 求助sqlite问题!望大家帮忙..
- 求助 一道java笔试题 运行结果为什么是这样?
- 用Java开发的性能监控系统设计的疑问,高分请教!
- 总觉得<<java编程思想>>的第一版写的比第二版好一点?
- 高手请进
- 求助诸位大侠 —— 关于文本框的问题!
- 求一段源码:jdbc连接oracle,并把数据用坐标和曲线显示出来。
- java.net 中的url类谁用过?
- 二个数据类型转换的问题
第一条中 b= in.read();有错,
b是byte类型的第2里中 byte [] data = blob.getBytes(1 len);有错
--->
byte [] data = blob.getBytes(len,1);