oracle 获取blob数据,获取Oracle中的Blob中的数据

import java.io.BufferedInputStream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class ReaderIO {

private Connection con = null;

private Statement st = null;

private InputStream in = null;

private OutputStream out = null;

private BufferedInputStream bis = null;

private ResultSet rs = null;

public ReaderIO(){

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

con = DriverManager.getConnection("jdbc:oracle:thin:@***.**.**.**:1522:***","**","**");

st = con.createStatement();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

}

public void getFile(String condition){

String sql ="select * from report.info_report r where r.report_name like '" + condition + "'";

try{

rs = st.executeQuery(sql);

while(rs.next()){

in = rs.getBlob(9).getBinaryStream();

bis = new BufferedInputStream(in);

out = new FileOutputStream(new File("e://" + rs.getString(2) + ".raq"));

byte[] bit = new byte[1024];

while((bis.read(bit)) > 0){

out.write(bit, 0, bit.length);

}

reset();

}

}catch(SQLException e){

e.printStackTrace();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

close();

}

}

public void close(){

try{

if(rs != null){

rs.close();

}

if(st != null){

st.close();

}

if(con != null){

con.close();

}

}catch(SQLException e){

}

}

public void reset(){

try{

if(in != null){

in.close();

}

if(bis != null){

bis.close();

}

if(out != null){

out.close();

}

}catch(IOException e){

}

}

public static void main(String[] rags){

ReaderIO ri = new ReaderIO();

ri.getFile("测试%");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值