jdbc读写二进制文件

简介: jdbc读写二进制文件

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.sql.Blob;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;



public class BinTest {

public static void main(String[] args) throws IOException, SQLException

{

 read();

}

private static void read() throws SQLException, IOException

{

 Connection conn = null;

 PreparedStatement ps = null;

 ResultSet rs = null;

 try {

 conn = JdbcUtils.getConnection();

 

 String sql = "select con_bin from blobtest";

 

 ps = conn.prepareStatement(sql);

 

 

 

 rs = ps.executeQuery();

 

 while (rs.next())

 {

  Blob b = rs.getBlob(1);

 

  InputStream fi = rs.getBinaryStream(1);

 

  File file = new File("F:\\mysql官方ppt.pptx");

  FileOutputStream fo = new FileOutputStream(file);

  BufferedOutputStream bo = new BufferedOutputStream(fo);

  byte[] buff  = new byte[1024];

  int i=0;

  while((i = fi.read(buff))>0)

  {

   bo.write(buff);

  }

 

  bo.close();

  fo.close();

  fi.close();

 }

 

 

 

 

} finally

{

 JdbcUtils.release(rs, ps, conn);

}

}

private static void write() throws IOException, SQLException

{

 Connection conn = null;

 PreparedStatement ps = null;

 ResultSet rs = null;

 try {

 conn = JdbcUtils.getConnection();

 

 String sql = "insert into blobtest(con_bin) values (?)";

 

 ps = conn.prepareStatement(sql);

 

 File f = new File ("E:\\MySQL—oracle学习中心.pptx");

 FileInputStream fi = new FileInputStream(f);

 BufferedInputStream bi = new BufferedInputStream(fi);

 

 ps.setBinaryStream(1, bi,f.length());

 

 int change_count = ps.executeUpdate();

 

 bi.close();

 fi.close();

 

 

 System.out.println(change_count);

 

} finally

{

 JdbcUtils.release(rs, ps, conn);

}

}

————————————————

版权声明:本文为CSDN博主「明明如月学长」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/w605283073/article/details/46572491

相关文章
|
4月前
|
SQL Java 关系型数据库
MySQL之JDBC(二)
MySQL之JDBC(二)
34 0
|
4月前
|
关系型数据库 MySQL Java
MySQL之JDBC(一)
MySQL之JDBC
35 0
|
1月前
|
关系型数据库 MySQL Java
MySQL的主从复制 && SpringBoot整合Sharding-JDBC解决读写分离
MySQL的主从复制 && SpringBoot整合Sharding-JDBC解决读写分离
39 0
|
12天前
|
Java 关系型数据库 MySQL
JDBC实现往MySQL插入百万级数据
JDBC实现往MySQL插入百万级数据
|
17天前
|
SQL 关系型数据库 MySQL
Spring_jdbc数据连接池(mysql实现增、删、改、查)
Spring_jdbc数据连接池(mysql实现增、删、改、查)
22 0
|
12天前
|
SQL Java 关系型数据库
JDBC批量插入mysql数据
JDBC批量插入mysql数据
|
12天前
|
Java 关系型数据库 MySQL
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
|
13天前
|
JSON 前端开发 Java
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)