Blob,Clob类型转换String

本文介绍了如何将Blob和Clob类型的数据转换为String类型,包括具体的Java代码实现过程。对于Blob类型的转换,通过获取二进制流并读取内容到字节数组中,再转换为String;对于Clob类型的转换,则通过字符流读取所有内容到StringBuffer中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Blob,Clob类型转换String2010-06-13 13:421.写入Blob字段

CsOaMail mail = new CsOaMail(from, to[0], null, null, subject,new Date(), null, "0", sentFolderId);

mail.setContent(Hibernate.createBlob(content.getBytes("UTF-8")));

cm = (CsOaMail) emailDAO.save(mail);//保存入库


2.BLob to String

csMail = (CsOaMail) emailDAO.get(CsOaMail.class, id); // 取出邮件信息
// 处理邮件内容信息 BLOB to string
Blob blob=csMail.getContent();
InputStream ins = blob.getBinaryStream();
byte[] c = new byte[(int) blob.length()];
ins.read(c);
String contentString = new String(c);
csMail.setContentString(contentString);
ins.close();

1.写入Clob

mail.setContent(Hibernate.createBlob(content);

2.string to Clob

java.sql.Clob c = new javax.sql.rowset.serial.SerialClob("abc".toCharArray());

3.

/**
* Clob数据转为String
*
* @param clob
* @return
*/
public String doClobToString(Clob clob) {
if (null == clob)
return null;
Reader reader = null;
StringBuffer sb = new StringBuffer();
BufferedReader bfReader = null;
try {
reader = clob.getCharacterStream();
// 得到流
bfReader = new BufferedReader(reader);
String s = bfReader.readLine();
while (null != s) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
s = bfReader.readLine();
}
} catch (Exception e) {
e.getCause();
} finally {
try {
if (null != reader)
reader.close();
if (null != bfReader)
bfReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (sb.toString().equals(""))
return null;
else
return sb.toString();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值