Java读取Oracle的CLOB字段转换为String数据

版权声明:本文为博主原创文章,欢迎转载。 https://blog.csdn.net/chengyuqiang/article/details/88567340

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()方法使用方便,而且保留了原来数据的格式。

猜你喜欢

转载自blog.csdn.net/chengyuqiang/article/details/88567340
今日推荐