oracle.sql.BLOB clob = (oracle.sql.BLOB)rs.getBlob("content");

解决方案 »

  1.   

    BufferedOutputStream out = new BufferedOutputStream(blob.getBinaryOutputStream());
    BufferedInputStream in = new BufferedInputStream(new FileInputStream(infile));
    int c;
    while ((c=in.read())!=-1) {
    out.write(c);
    }
    in.close();
    out.close();
      

  2.   

    楼上的高手,怎设置输出格式,比方说svg,bmp或者emf格式
      

  3.   

    读取BLOB字段:public static void blobRead(String outfile) throws Exception
    {
    /* 设定不自动提交 */
    boolean defaultCommit = conn.getAutoCommit();
    conn.setAutoCommit(false);
    try {
    /* 查询BLOB对象 */
    ResultSet rs = stmt.executeQuery("SELECT BLOBCOL FROM TEST_BLOB WHERE ID='222'");
    while (rs.next()) {
    /* 取出此BLOB对象 */
    oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("BLOBCOL");
    /* 以二进制形式输出 */
    BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outfile));
    BufferedInputStream in = new BufferedInputStream(blob.getBinaryStream());
    int c;
    while ((c=in.read())!=-1) {
    out.write(c);
    }
    in.close();
    out.close();
    }
    /* 正式提交 */
    conn.commit();
    } catch (Exception ex) {
    /* 出错回滚 */
    conn.rollback();
    throw ex;
    }
    /* 恢复原提交状态 */
    conn.setAutoCommit(defaultCommit);
    }