SQL CLOB 是内置类型,它将字符大对象存储为数据库表某一行中的一个列值,使用CHAR来存储数据,如XML文档。
如下是一个Clob转换为String的静态方法,可将其放在自己常用的工具类中,想直接用的话,自己稍作修改即可
public static String clobToStr(Clob clob) {if(clob == null) {return ""; } StringBuffer strClob = new StringBuffer(); String str = ""; Reader read = null; try{ reader = clob.getCharacterStream(); char[] buffer = new char[1024]; int length = 0; while (length = reader.read(buffer, 0, 1024)) != -1) { strClob.append(buffer, 0, length); } } catch (SQLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try{ if (reader != null) reader.close(); } catch (IOException e) { e.printStackTrace(); } } str = strClob.toString(); return str; }
我在将数据导出成Excel时碰到的问题,需要导出的数据中有Clob格式只需将其Clob对象(若直接导出则显示的是地址)
这个工具挺好用的,放在这里,以后方便自己使用。(另:博客园的代码排版实在太丑了,以后还是在外面编辑好再粘贴进来比较好)