通过流和JPEGCodec、JPEGImageEncoder类的操作来取出数据库中的图片。 注释很详细,注意要额外的引入mysql的驱动包,要修改数据库的用户名和密码以及URL。希望对大家有帮助。 import java.awt.p_w_picpath.BufferedImage; import java.io.*; import java.sql.Blob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import com.sun.p_w_picpath.codec.jpeg.JPEGCodec; import com.sun.p_w_picpath.codec.jpeg.JPEGImageEncoder; import javax.p_w_picpathio.ImageIO; public class getImage { //连接数据库的相关信息 static String user = "username";//用自己的用户名 static String driver = "com.mysql.jdbc.Driver"; static String password = "password";//用自己的密码 static String url = "jdbc:mysql://localhost:4017/p_w_picpath";//自己的数据库地址 public static void main(String[]args){ try { Class.forName(driver);//加载驱动 Connection con = DriverManager.getConnection(url,user,password);//获得Connection对象 PreparedStatement ps = con.prepareStatement("select photo from photo where name = 'z'"); ResultSet rs = ps.executeQuery(); rs.next();//移动到第一行上 Blob blob = (Blob)rs.getBlob("photo");//获得数据库中的Blob对象,即图像 File file = new File("D:/1.jpg");//指定文件的输出路径和文件名 if(!file.exists())//判断,如果文件不存在,则创建文件 file.createNewFile(); FileOutputStream fos = new FileOutputStream(file);//根据指定的路径,创建文件输出流 BufferedInputStream in = new BufferedInputStream(blob.getBinaryStream());//将得到的文件写入流中 //System.out.println(in);//测试内容是否为空 BufferedImage p_w_picpath = ImageIO.read(in);//将流转换为Image对象 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos); encoder.encode(p_w_picpath); } catch (Exception e) { e.printStackTrace(); } } }
Java利用Eclipse和Mysql数据库连接并存储图片——取出图片
原创
©著作权归作者所有:来自51CTO博客作者张好运的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Google浏览器 — 取出图片颜色值
第一步:按住F12弹出如下设置窗口第二步:第三步:第四步:第五步:将鼠标移到网页中,随便点击一个地方,即可取到颜色值第六步:
Google 利用Google浏览器取出颜色 取色器 王睿丶 Web