长文本读取

package com.blobText;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.StringBufferInputStream;
import java.io.StringReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class writeIn {


// 写入
public String writeIn(String sql,String column,String value,String code) throws Exception{
String ok = "0";
String code_def = "utf-8";
if(code.equals("") || code == null){}else code_def = code;
StringReader sr = new StringReader(value);
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection local = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","aa","aa");
Statement stm = local.createStatement();
ResultSet rs = stm.executeQuery(sql);
byte [] bytes = value.getBytes(code_def);
rs.next();
oracle.sql.BLOB blob = ( (oracle.jdbc.OracleResultSet) rs).getBLOB(column);
OutputStream outStream = blob.getBinaryOutputStream();
sr.read();
outStream.write(bytes);
outStream.flush();
    outStream.close();
    sr.close();
    stm.execute("commit");
    rs.close();
   
  

    stm.close();
    local.close();
return ok;
}

//读出
public String readerIn(String sql,String column,String code) throws Exception{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection local = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","aa","aa");


Statement stm = local.createStatement();
ResultSet rs = stm.executeQuery(sql);
InputStream in=null;
if(rs!=null){
  rs.next();
  in=rs.getBinaryStream(column);
  }
byte bytes[] = new byte[1024];
int len =0;
String t ="";
OutputStream ff = System.out;
while((len=in.read(bytes))!=-1){
t += new String(bytes,0,len,code);
  }

System.out.println(t);
in.close();
rs.close();
stm.close();
local.close();
return t;
}
}

你可能感兴趣的:(java,oracle,sql,jdbc)