读取一个二进制文件保存到数据库中

来源:互联网 发布:网络信息安全管理员 编辑:程序博客网 时间:2024/04/29 20:23

//insert into ttt values('2000/12/12')

import java.sql.*;
import java.io.*;

public class  ReadDB{
 public static void main(String[] args)  {
  BufferedInputStream in=null;
  BufferedOutputStream o=null;
  String sql="select id,picture from picture where id="+args[1];
  Connection conn=null;
  String driver="com.mysql.jdbc.Driver";//驱动
  String url="jdbc:mysql://127.0.0.1/test?useUnicode=true;characterEncoding=8859_1";// 数据库联接 

  try{
   Class.forName(driver);
   conn=DriverManager.getConnection(url,"root","");
   Statement stmt=conn.createStatement();
   ResultSet rs=stmt.executeQuery(sql);
   while(rs.next()) {
    in=new BufferedInputStream(rs.getBinaryStream("picture"));
    o=new BufferedOutputStream(new FileOutputStream(args[0]));
    byte[] bytes=new byte[128];
    while(in.read(bytes)!=-1){
     o.write(bytes);
    }
    o.close();
   }
   conn.close();
  }catch(Exception e){
   System.out.println(e.getMessage());
  }
 }
}