取图片二进制流FROM Mysql
package com.to.go.jdbc.test; import java.io.FileInputStream; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.sql.Blob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.text.AbstractDocument.BranchElement; import com.to.go.jdbc.util.JDBCUtil; public class ImgTest { /** * 把图片从数据库中读出来存放到本地文件 * @author lsh * */ public static void main(String[] args) throws Exception { Connection conn = JDBCUtil.getConn(); String sql = "SELECT * FROM img WHERE id = ? "; PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1,1); ResultSet res = ps.executeQuery(); if(res.next()) { // 获取图片 Blob blob = res.getBlob("img"); //Blob 类型是 mysql 数据类型 要转换为JAVA的数据类型才可以进行操作 //获取二进制流 InputStream br = blob.getBinaryStream(); Files.copy( br, Paths.get("G:/mysql.png")); //关闭流 br.close(); } //释放资源 JDBCUtil.close(conn, ps, res); } }
传播知识,分享快乐!
作者:IT_BULL
出处:http://www.cnblogs.com/itBulls/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
博客园-博客园。