public boolean insertData(String str) throws SQLException,
            FileNotFoundException, IOException {
        boolean bool = false;
        Connection conn = null;
        PreparedStatement pstmt1 = null;
        PreparedStatement pstmt2 = null;
        ResultSet rst = null;
        try {
            String sql = "INSERT INTO T_TEST VALUES ('111', EMPTY_CLOB())";
            conn = Common.getConnection();
            conn.setAutoCommit(false);
            pstmt1 = conn.prepareStatement(sql);
            pstmt1.execute();
            sql = "SELECT CLOBCOL FROM T_TEST WHERE ID='111' FOR UPDATE";
            pstmt2 = conn.prepareStatement(sql);
            rst = pstmt2.executeQuery();
            oracle.sql.CLOB clob = null;
            while (rst.next()) {
                // 取出此CLOB对象
                clob = (oracle.sql.CLOB) rst.getClob("CLOBCOL");
            }
            // 向CLOB对象中写入数据
            Writer out = clob.getCharacterOutputStream();
            out.write(str);
            //out.close();
            bool = true;
        } finally {
            FreeResource.closeResultSet(rst);
            FreeResource.closePstmt(pstmt1);
            FreeResource.closeStmt(pstmt2);
            FreeResource.closeConnection(conn, bool);
        }
        return bool;
    }
    如果运行out.close();那么执行到FreeResource.closeResultSet(rst);后什么都不执行了,按照上面的方法执行,发现创建的clob数据是空的,请问如何解决