import java.sql.*;
import oracle.jdbc.*;
import java.util.*;
import oracle.sql.*;
import java.io.*;public class OracleCLOB {
  Connection conn;
  PreparedStatement pst;
  String url = "jdbc:oracle:thin:@192.168.0.2:1521:ntrsit01";
  String user = "    ";
  String passwd = "    ";
  String sql = "insert into testclob values(?, EMPTY_CLOB())";  public OracleCLOB() {
    init();
    //insertRecord("asd", "d:/xmldata.xml");
    getContent("asd");
    disConnect();
  }  public void init() {
    try {
      Class.forName("oracle.jdbc.driver.OracleDriver");
      DriverManager.setLogWriter(new PrintWriter(System.out));
      conn = DriverManager.getConnection(url, user, passwd);
      pst = conn.prepareStatement(sql);
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }  public void insertRecord(String topic, String filename) {
    try {
      pst.setString(1, topic);
      pst.execute();
      conn.setAutoCommit(false);
      ResultSet rs = conn.createStatement().executeQuery(
          "Select content from testclob where topic ='" + topic +
          "' for update");
      while (rs.next()) {
        CLOB blob = ( (OracleResultSet) rs).getCLOB("content");
        Writer writer = blob.getCharacterOutputStream();
        FileReader reader = new FileReader(filename);
        char[] buffer = new char[1024];
        int bufsize = 0;
        while ((bufsize = reader.read(buffer)) != -1) {
          writer.write(buffer, 0, bufsize);
        }
        reader.close();
        writer.close();
      }
      conn.commit();
      conn.setAutoCommit(true);
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }  public void getContent(String topic) {
    try {
      ResultSet rs = conn.createStatement().executeQuery(
          "select content from testclob where topic ='" + topic + "'");
      while (rs.next()) {
        Clob clob = rs.getClob(1);
        Reader reader = clob.getCharacterStream();
        FileWriter out = new FileWriter("d:/xmlclob.xml");
        char[] buffer = new char[1024];
        int bufsize = 0;
        while ( (bufsize = reader.read(buffer)) != -1) {
          out.write(buffer, 0, bufsize);
        }
        reader.close();
        out.close();
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }  public void disConnect() {
    if (pst != null) {
      try {
        pst.close();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    if (conn != null) {
      try {
        conn.close();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }  public static void main(String[] args) {
    OracleCLOB oracleCLOB = new OracleCLOB();
  }}我做的一个例子
给分吧