日期:2014-05-16 浏览次数:20409 次
Connection con = null; try { Class.forName("oracle.jdbc.OracleDriver"); con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "username","password"); con.setAutoCommit(false); Statement st = con.createStatement(); PreparedStatement ps = con.prepareStatement("insert into documents(text,photo) values(?,?)"); //向数据库写入Clob字段 File file1 = new File("d:\1.txt"); int filel_length = (int)file1.length(); InputStream f1 = new FileInputStream(file1); ps.setAsciiStream(1, f1, filel_length); //向数据库写入Blob字段 File file2 = new File("d:\1.jpg"); int file2_length = (int)file2.length(); InputStream f2 = new FileInputStream(file2); ps.setBinaryStream(2, f2, file2_length); ps.execute(); con.commit(); ResultSet rs1 = ps.executeQuery("select text,photo from documents where id='365'"); while(rs1.next()){ // java.sql.Clob clob =rs1.getClob(1); //和提取一般对象一样 InputStream is = rs1.getAsciiStream(1); //得到Clob的流 BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line = null; while(null != (line=br.readLine())){ System.out.println(line); } is.close(); java.sql.Blob blob = rs1.getBlob(2); System.out.println(blob.length()); InputStream bis = blob.getBinaryStream(); //得到Blob实例的字节流 OutputStream os = new FileOutputStream("d:\11.jpg"); int i = bis.read(); while(i != -1){ os.write(i); i = bis.read(); } os.flush(); os.close(); bis.close(); } } catch (Exception e) { e.printStackTrace(); }
// 将blob 转换成 String public static String BlobToString(){ Connection conn = null; Statement st = null; ResultSet rs = null; String str = ""; try { //...获取Connection st = conn.createStatement(); rs = st.executeQuery("select big_bit from blob_test"); while (rs.next()) Blob blob = rs.getBlob(1); InputStream in = blob.getBinaryStream(); //一般接下来是把in的字节流写入一个文件中,但这里直接放进字符串 byte[] buff=new byte[(int) blob.length()]; // byte[] buff=new byte[1024]; // byte[] b = new byte[blob.getBufferSize()]; for(int i=0;(i=in.read(buff))>0;){ str=str+new String(buff); } in.close(); // blob.close(); //是否需要关闭? }catch (Exception e) { e.printStackTrace(); } return str; }
// 将clob 转换成 String public static String ClobToString(CLOB clob) throws SQLException, IOException { String reString = ""; Reader is = clob.getCharacterStream();// 得到流 BufferedReader br = new BufferedReader(is); String s = br.readLine(); StringBuffer sb = new StringBuffer(); while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING sb.append(s); s = br.readLine(); } reString = sb.toString(); return reString; }
String str = "EHOMEvsLGD"; oracle.sql.BLOB b = (oracle.sql.BLOB)(str.getBytes());
String str = "DKvsWEvsCCM"; java.sql.Clob c = new javax.sql.rowset.serial.SerialClob(str.toCharArray());