技术中心

这里象征着我们的态度和能力

>JDBC中处理二进制类型数据
作者:中国IT实验室    来源:中国IT实验室    发布时间:2012-01-28      浏览次数:6012
分享到:
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  package jdbc;

  import java.io.BufferedInputStream;

  import java.io.BufferedOutputStream;

  import java.io.File;

  import java.io.FileInputStream;

  import java.io.FileOutputStream;

  import java.io.InputStream;

  import java.io.OutputStream;

  import java.sql.Connection;

  import java.sql.PreparedStatement;

  import java.sql.ResultSet;

  /**

  *

  * @author HaoWang

  */

  public class BlobTest {

  public static void main(String[] args) {

  //        create(1,"C:a.jpg");

  read(1,"C:a_bak.jpg");

  }

  public static void create(int bid, String path) {

  Connection conn = null;

  String sql = null;

  PreparedStatement ps = null;

  ResultSet rs = null;

  try {

  conn = JdbcUtils.getConnection();

  sql = "insert into blob_test(bid,content) value(?,?)";

  ps = conn.prepareStatement(sql);

  ps.setInt(1, bid);

  File file = new File(path);

  InputStream in = new BufferedInputStream(new FileInputStream(file));

  ps.setBinaryStream(2, in, file.length());

  int i = ps.executeUpdate();

  System.out.println("i="+i);

  in.close();

  } catch (Exception ex) {

  System.out.println(ex.toString());

  } finally {

  JdbcUtils.free(conn, ps, rs);

  }

  }

  public static void read(int bid, String path) {

  Connection conn = null;

  String sql = null;

  PreparedStatement ps = null;

  ResultSet rs = null;

  try {

  conn = JdbcUtils.getConnection();

  sql = "select content from blob_test where bid=?";

  ps = conn.prepareStatement(sql);

  ps.setInt(1, bid);

  rs = ps.executeQuery();

  while(rs.next()) {

  InputStream in = rs.getBinaryStream(bid);

  File file = new File(path);

  OutputStream out = new BufferedOutputStream(new FileOutputStream(file));

  byte[] buff = new byte[1024];

  for(int i=0; (i=in.read(buff))>0;) {

  out.write(buff, 0, i);

  }

  out.close();

  in.close();

  }

  } catch (Exception ex) {

  System.out.println(ex.toString());

  } finally {

  JdbcUtils.free(conn, ps, rs);

  }

  }

  }

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号 增值电信业务经营许可证号:滇B2-20110045
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730