来源:自学PHP网 时间:2015-04-16 10:50 作者: 阅读:次
[导读] 一、需要注意的一个问题1、当数据库字段为blob类型时,必须使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法;2、当数据库字段为longblob类型时,必须使用PreparedStatement中的setBina...
一、需要注意的一个问题1、当数据库字段为blob类型时,必须使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法; 二、实际编程操作1、首先创建数据表CREATE TABLE stuinfo(id int(11) NOT NULL auto_increment,name varchar(10) default NULL,content longText,image,longBlob,PRIMARY KEY(id))ENGINE=InnoDB; 2、编码存储图片以及文本文件
import java.sql.*;
import java.io.*;
public class GetConnection{
public static void main(String[] args){
Access2Database adb=new Access2Database();
Connection conn=adb.getConn();
//transaction dealing
PreparedStatement pstam=null;
String sql="insert into stuinfo(name,content,image) values(?,?,?);";
try {
pstam=conn.prepareStatement(sql);
pstam.setString(1, "cjc");
File file=new File("D:/我的文档/Documents/JavaPrj/Test/src/test.txt");
InputStream itxt=new FileInputStream(file);
BufferedReader br=new BufferedReader(new InputStreamReader(itxt));
pstam.setCharacterStream(2,br,(int)file.length());
File file1=new File("D:/我的文档/Documents/JavaPrj/Test/src/1.jpg");
InputStream isimg=new FileInputStream(file1);
pstam.setBinaryStream(3, isimg, (int)file1.length());
pstam.executeUpdate();
br.close();
itxt.close();
isimg.close();
pstam.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e){
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
}
}
结果:
3、编码读取图片以及文本文件
代码
import java.sql.*;
import java.io.*;
public class GetConnection{
public static void main(String[] args){
Access2Database adb=new Access2Database();
Connection conn=adb.getConn();
//transaction dealing
PreparedStatement pstam=null;
String sql="select * from stuinfo where name=?;";
try {
pstam=conn.prepareStatement(sql);
pstam.setString(1, "cjc");
ResultSet reset=pstam.executeQuery();
while(reset.next()){
System.out.println("Read text document...");
BufferedReader br=new BufferedReader(reset.getCharacterStream(3));
String str=null;
while((str=br.readLine())!=null){
System.out.println(str);
}
System.out.println("Read text document OK!");
System.out.println("Read image file...");
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(new File("result.jpg")));
byte[] buf=new byte[1024];
BufferedInputStream bis=new BufferedInputStream(reset.getBinaryStream(4));
int count=-1;
while((count=bis.read(buf, 0, 1024))!=-1){
bos.write(buf, 0, count);
}
bos.flush();
System.out.println("Read image file OK!");
bos.close();
}
reset.close();
pstam.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e){
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
}
}
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com