import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* jdbc访问二进制数据
*
* @author Administrator
*
*/
public class BlobTest {
public static void main(String[] args) {
//create();
read();
}
public static void create() {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 建立连接
conn = JdbcUtils.getConnection();
// 创建语句
String sql = "insert into blob_test(big_bit)"
+ "values(?)";
ps = conn.prepareStatement(sql);
File file=new File("src/cn/wtj/jdbc/20150419.jpg");
InputStream in=new BufferedInputStream(new FileInputStream(file));
ps.setBinaryStream(1,in,file.length());
System.out.println(sql);
// 执行语句
int i = ps.executeUpdate();
in.close();
System.out.println("i=" + i);
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.free(rs, ps, conn);
}
}
public static void read() {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select big_bit from blob_test";
try {
// 建立连接
conn = JdbcUtils.getConnection();
// 创建语句
ps = conn.prepareStatement(sql);
// 执行语句
rs = ps.executeQuery();
// 处理结果
while (rs.next()) {
// Blob blob=rs.getBlob("big_bit");
// InputStream in=blob.getBinaryStream();
InputStream in=rs.getBinaryStream("big_bit");
File file=new File("src/cn/wtj/jdbc/20150419_bak.jpg");
OutputStream out=new BufferedOutputStream(new FileOutputStream(file));
byte[] buff=new byte[1024];
for(int i=0;(i=in.read(buff))>0;){
out.write(buff,0,i);
}
out.close();
in.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.free(rs, ps, conn);
}
}
}
jdbc访问二进制数据
最新推荐文章于 2024-08-12 10:39:59 发布