1、方法1 流处理
if (type.equalsIgnoreCase("CLOB"))
{
Clob clob=resultSet.getClob(columnIndex);
String result=clob2String(clob);
System.out.println("流处理读取CLOB:\n"+result);
}
其中Clob 类型转换为String的自定义方法如下
private String clob2String(Clob clob) throws SQLException, IOException
{
String reString = "";
Reader is = clob.getCharacterStream();// 得到流
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null)
{
// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
s = br.readLine();
}
reString = sb.toString();
return reString;
}
运行结果
流处理读取CLOB:
湖南发展集团股份有限公司关于2015年年报问询函回复的公告 本公司及董事会全体成员保证信息披露的内容真实、准确、完整,没有虚假记载、误导性陈述或重大遗漏。 近日,湖南发展集团股份有限公司(以下简称“公司”)收到深圳证券交易所公司部发来的《关于对湖南发展集团股份有限公司的年报问询函》(公司部年报问询函[2016]第 281 号),公司就问询函所提问题进行了认真核查,现将问询函回复情况公告如下。
2、方法2 JDBC自带的getString()方法
参考官方文档:
http://docs.oracle.com/cd/E11882_01/java.112/e16548/oralob.htm#JJDBC28534
if (type.equalsIgnoreCase("CLOB"))
{
String result =resultSet.getString(columnIndex);
System.out.println("getString方法处理读取CLOB:\n"+result);
}
运行结果
getString方法处理读取CLOB:
湖南发展集团股份有限公司关于2015年年报问询函回复的公告
本公司及董事会全体成员保证信息披露的内容真实、准确、完整,没有虚假记载、误导性陈述或重大遗漏。
近日,湖南发展集团股份有限公司(以下简称“公司”)收到深圳证券交易所
公司部发来的《关于对湖南发展集团股份有限公司的年报问询函》(公司部年报问
询函[2016]第 281 号),公司就问询函所提问题进行了认真核查,现将问询函回复
情况公告如下。
可见JDBC自带的getString()方法使用方便,而且保留了原来数据的格式。