来源:自学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