import java.io.Reader;import java.sql.Clob;public class ClobTransfer { /** * 將String轉成Clob ,靜態方法 * * @param str * 欄位 * @return clob對象,如果出現錯誤,返回 null */public static Clob stringToClob(String str) {if (null == str)return null;else {try {java.sql.Clob c = new javax.sql.rowset.serial.SerialClob(str.toCharArray());return c;} catch (Exception e) {return null;}}}/** * 將Clob轉成String ,靜態方法 * * @param clob * 欄位 * @return 內容字串,如果出現錯誤,返回 null */public static String clobToString(Clob clob) {if (clob == null)return null;StringBuffer sb = new StringBuffer();Reader clobStream = null;try {clobStream = clob.getCharacterStream();char[] b = new char[60000];// 每次擷取60Kint i = 0;while ((i = clobStream.read(b)) != -1) {sb.append(b, 0, i);}} catch (Exception ex) {sb = null;} finally {try {if (clobStream != null) {clobStream.close();}} catch (Exception e) {}}if (sb == null)return null;elsereturn sb.toString();}public static String clobToString(oracle.sql.CLOB clob){try{Reader inStream = clob.getCharacterStream(); char[] c = new char[(int) clob.length()]; inStream.read(c); String data = new String(c); inStream.close();return data;}catch(Exception e){e.printStackTrace();return "";}}}