java+将blob+写入word_BLOB的读写操作

48304ba5e6f9fe08f3fa1abda7d326ab.png//BLOB写入操作

packagezxt.xsfw.action.ceshi;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importzxt.wai.action.ProtectedAction;importzxt.wai.sys.Constant;importzxt.wai.sys.RequestHelper;importzxt.xsfw.init.WebInitLoad;importjava.io.FileInputStream;importjava.io.OutputStream;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importoracle.sql.BLOB;importjava.sql.Statement;public class BlobceshiAction extendsProtectedAction{public booleanpostProcess(HttpServletRequest request, HttpServletResponse response) {return false;

}public booleanprocess(HttpServletRequest request, HttpServletResponse response) {

String name= RequestHelper.getStrParam(request, "NAME");//请求中读取参数

String img = RequestHelper.getStrParam(request, "IMG");//请求中读取参数

Connection conn=null;

Statement stm=null;

ResultSet rs=null;

BLOB blob= null;

FileInputStream fin=null;

OutputStream out=null;try{

conn=WebInitLoad.getSysDBTookit().createConnection();

stm=conn.createStatement();

conn.setAutoCommit(false);

String sql= "insert into TEST values(‘1‘,‘"+name+"‘,EMPTY_BLOB())";

stm.executeUpdate(sql);

rs= stm.executeQuery("SELECT img FROM TEST WHERE id=‘1‘ FOR UPDATE ");

fin= newFileInputStream(img);byte[] blobBuf = new byte[(int)fin.available()];

fin.read(blobBuf);

fin.close();if(rs.next()) {

System.out.println(blobBuf.length);//以byte为单位

blob = (oracle.sql.BLOB)rs.getBlob(1);

out=blob.getBinaryOutputStream();

out.write(blobBuf);//写入到BLOB中去

out.close();

conn.commit();

}

}catch(Exception e){

e.printStackTrace();

}finally{try{

rs.close();

stm.close();

conn.close();

}catch(SQLException e) {

e.printStackTrace();

}

}

setReturnValue("");

setReturnType(Constant.TARGET_TYPE_CONTENT);return false;

}

}

//BLOB写入操作

package zxt.xsfw.view.ceshi;

import org.enhydra.xml.xmlc.html.HTMLObject;

import zxt.wai.sys.XmlcViewFactory;

import

zxt.wai.view.ProtectedXView;

import zxt.xsfw.init.WebInitLoad;

import java.io.FileOutputStream;

import java.io.InputStream;

import

java.sql.Connection;

import java.sql.DriverManager;

import

java.sql.ResultSet;

import java.sql.SQLException;

import

java.sql.Statement;

import oracle.sql.BLOB;

public class ReadBlobceshiXView {

public boolean render() {

Connection conn=null;

Statement

stm=null;

ResultSet rs=null;

try {

conn = getCon();

stm = conn.createStatement();

rs = stm.executeQuery("select img from

TEST where id=‘1‘");

if(rs.next()){

BLOB blob =

(BLOB)rs.getBlob(1);

InputStream is = blob.getBinaryStream();

FileOutputStream os = new FileOutputStream("c:\\1.jpg");

int

b;

byte[] buffer = new byte[1024];

while(

(b=is.read(buffer)) != -1){

os.write(buffer,0,b);//把BLOB信息写到文件流中

}

is.close();

os.close();

}

} catch (Exception e)

{

e.printStackTrace();

}finally{

try

{

rs.close();

stm.close();

conn.close();

} catch

(SQLException e) {

e.printStackTrace();

}

}

return

false;

}

public static void main(String[] orgs){

new

ReadBlobceshiXView().render();

}

public static Connection getCon()

{

Connection con = null;

try

{

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

String

url = "jdbc:oracle:thin:@localhost:1521:ora9i";

String user =

"";

String password = "";

con = DriverManager.getConnection(url,

user, password);

} catch (Exception e)

{

e.printStackTrace();

}

return con;

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值