java中读取 BLOB数据:
首先做查询,拿到查询结果ResultSet rs = XXXX (和普通数据查询一样)
然后:Blob blob = rs.getBlob("字段名")拿到你的Blob ,
得到文件的二进制流:InputStream binaryStream= blob.getBinaryStream(),
你的文件数据就在这个流当中,你想怎么用就怎么取,比如,读出来存到一个byte[]中,以便序列化传输,读出来构造成一个File直接存放到本地等等。
举个例子吧:从这个binaryStream中读取数据到byte[]的方法,
////////---------------------
/**
* 从binaryStream中读取数据到byte[]的方法
* @param in 即binaryStream
* @return
* @throws Exception
*/
public static byte[] readStreamToByteArray(InputStream in) throws Exception{
ByteArrayOutputStream outputStream = new ByteArrayOutputStream()
byte[] buffer = new byte[1024]
int len = -1
while((len = in.read(buffer)) != -1) {
outputStream.write(buffer, 0, len)
}
outputStream.close()
in.close()
return outputStream.toByteArray()
}
//
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)