[关闭]
@hengbao 2018-06-04T07:25:32.000000Z 字数 703 阅读 1612

Java实现Oracle的Clob字段转换成String

Java Oracle

1.利用dbms_lob.substr()方法可将对应字段转换成字符串如下:

  1. select dbms_lob.substr(content) from NEWS

该方法有个缺点,当content字段长度超过某个值时,会报错

2.获取Clob对象,在Java中通过对流处理获取字段内容,该方式没有长度限制

  1. select content from NEWS

然后在Java代码中:

  1. // 将字CLOB转成STRING类型
  2. public String ClobToString(Clob clob) throws SQLException, IOException {
  3. String reString = "";
  4. java.io.Reader is = clob.getCharacterStream();// 得到流
  5. BufferedReader br = new BufferedReader(is);
  6. String s = br.readLine();
  7. StringBuffer sb = new StringBuffer();
  8. while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
  9. sb.append(s);
  10. s = br.readLine();
  11. }
  12. reString = sb.toString();
  13. return reString;
  14. }

接下来的重点是将从数据库获取到的该字段的对象转换成Clob对象,如下:

  1. String content = ClobToString((Clob)obj[1]);

其中我的obj是从数据库获取的字段数组,obj[1]对应该Clob对象

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注