java读取数据库中的Blob对象:IO流的方式

读取中的Blob对象:IO流的方式:

package com.mldn;

import java..DriverManager;

import java..Connection;

import java..PreparedStatement;

import java..ResultSet;

import java.io.File;

import java.io.InputStream;

import java.io.FileInputStream;

import java.io.OutputStream;

import java.io.FileOutputStream;

public class BlobDemo1

{

/**

读取二进制

*/

// 连接驱动路径

public static final String DRIVER = “com.mysql.jdbc.Driver”; // “org.gjt.mm.mysql.driver”

// 定义数据源URL:地址

public static final String DBURL = “jdbc:mysql://localhost:3306/BigOb?characterEncoding=utf8”;

// 定义登录的用户名:

public static final String USERNAME = “root”;

// 定义登录的密码:

public static final String PASSWORD = “123456”;

public static void main(String[] args) throws Exception // 抛出所有异常

{

Connection conn = null; // 数据库连接

PreparedStatement pstmt = null; // 预处理语句

ResultSet rs = null; // 输出结果

// 加载数据库驱动

Class.forName(DRIVER);

// 获取数据库连接

conn = DriverManager.getConnection(DBURL, USERNAME, PASSWORD);

int id = 1; // 指定查询

// 预查询语句

String = “SELECT id, name, photo FROM Bigob where id = ?”;

// 预处理操作对象

pstmt = conn.prepareStatement(sql);

// 设置预处理

pstmt.setInt(1, id);

// 执行查询

rs = pstmt.executeQuery();

// 只进行一次操作

if (rs.next()) // rs每次调用标记一行,存在返回true,基于ResultSet的所有操作都必须先定位:标记行后再展开读取操作!

{

String name = rs.getString(2);

InputStream in = null; // 读取流

in = rs.getBinaryStream(“photo”); // 获取二进制流

File file = new File(“/home/ubuntu/logo.jpg”); // 输出文件

OutputStream out = null;

out = new FileOutputStream(file); // 实例化输出流

int temp = 0;

while ((temp = in.read()) != -1)

{

out.write(temp); // 边读边写

}

in.close();

out.close();

System.out.println(“图片名称:” + rs.getString(“name”)); // 获取图片名称

}

// 关闭操作与连接

rs.close();

pstmt.close();

conn.close();

}

}

/*

ubuntu@xu-desktop:~$ java com.mldn.BlobDemo1

图片名称:logo-edubuntu.png

// 此时/home/ubuntu/下出现logo.png图片!

*/

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《java读取数据库中的Blob对象:IO流的方式
本文地址:https://www.zhiletu.com/archives-159.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微